Невозможно скомпилировать Cocoapods с XCode/Obj-C - "Pods-prefix.pch.dia: нет такого файла или каталога"

Я использую SDK XCode 4.5.1 и iOS 6.0 base.

Вот ошибка, которую я получаю:

i686-apple-darwin11-llvm-gcc-4.2: /Users/fahim/Library/Developer/Xcode/DerivedData/Currenthiphop-emodxxwwaiojlcboaxuodksuwuww/Build/Intermediates/PrecompiledHeaders/Pods-prefix-evibdktwbatdnbabmrlnderfsxxi/Pods-prefix.pch.dia: No such file or directory

В каталоге Pods-prefix-xxx есть только 1 файл: Pods-prefix.pch.pth.hash-criteria

Вот мой подфайл:   платформа: ios

pod 'LibComponentLogging-Core'
pod 'LibComponentLogging-LogFile'
pod 'LibComponentLogging-qlog' 
pod 'LibComponentLogging-pods'

pod 'Facebook-iOS-SDK'
pod 'RestKit'

Любая помощь приветствуется. Спасибо!

Ответы

Ответ 1

Я действительно нашел это решение прямо здесь, где подробно раскрывается Xcode, используя обычные средства (Finder или Dock), в отличие от использования команды open <Workspace>.xcworkspace. Я всегда использовал Xcode из своей док-станции, тогда как другой разработчик (который не мог создать проект и получал ошибку) был командой open из командной строки. Как только он открыл Xcode из Dock и вручную просмотрел, чтобы открыть проект таким образом, он мог бы успешно его создать.

Ответ 2

Если вы используете CocoaPods 0.18.0, это может быть причиной CocoaPods и исправлено в https://github.com/CocoaPods/CocoaPods/issues/956

Дополнительной цитатой в "$ (унаследованной)" была причина (https://github.com/CocoaPods/CocoaPods/blob/master/lib/cocoapods/generator/xcconfig.rb#L150). Это не должно быть указано. Если вы удалите их из xcconfig, проект снова будет создан. Вы можете проверить свой xcconfig и посмотреть, есть ли дополнительная цитата.

Ответ 3

Эта проблема может быть вызвана несколькими различными факторами, но в моем случае и в случае с некоторыми коллегами это разрешило отсутствующую pch.dia

Удалите CocoaPods и установите 0.17.1

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 0.17.1 --verbose

Заблокируйте свою версию киви до 2,05, если Киви - один из ваших стручков:

target :KiwiUnitTest, :exclusive => true do
  pod 'Kiwi', '2.0.5'

Очистите проект Xcode, включая Производные данные. Закройте Xcode, заново откройте проект и выполните его.