2014-09-29 5 views
30

У меня проблема xcode не может найти заголовки моих стручков в моем wokspace.Cocoapods не может найти заголовок xcode 6

заголовкам путь поиска для цели кажется ОК

https://www.dropbox.com/s/ulqqai825a6xrg4/Screenshot%202014-09-29%2010.24.04.png?dl=1

Вот содержание моего podfile

target "MyApp" do 
pod 'AFNetworking', '~> 2.0' 
pod 'Reachability' 
pod 'ViewDeck', '2.2.11' 
pod 'MBProgressHUD', '~> 0.8' 
end 

Но когда я построить проект у меня есть эта ошибка в префиксе. pch

/Users/...../MyApp-Prefix.pch:17:13: Файл AFNetworking.h не для унд

Я пытался добавить platform :ios, "8.0" в моей podfile и сделать pod update, но до сих пор не повезло

Я также попытался добавить $ (наследственными), как предложено в СЦ вопрос: Xcode 6 doesn´t find cocoapods libraries

Я использую xcode 6 на mavericks

+0

I имеют точно такую ​​же проблему. Вы нашли решение? –

ответ

105

Я нашел решение. В свойствах проекта заменить это:

I FOUND SOLUTION

+25

Просто FYI, вы оставили один цензурированный. –

+12

FYI, это в Project Info. – GraemeArthur

+2

Это сработало для меня. Кажется, что всякий раз, когда я называю 'pod install', это происходит с ошибкой или неверно. Поскольку я не использую тесты в своем приложении (пока), я удалил цель MyappTests и вуаля! – BastiBen

6

Я смог исправить это в своем проекте. У меня была вторая цель для тестов. Я никогда не использовал эту цель, и ошибка исчезла после того, как я удалил ее из проекта. Так что, возможно, не главная цель - источник проблемы, а другой.

+1

Я нашел решение, используя ваш ответ –

+0

Возможно, лучше использовать ответ @ jwswart. Использование 'link_with' для ссылки на ваши цели. Целевая задача может оказаться полезной в будущем –

19

Вы также можете связать стручки с обеих ваших целей, как так:

platform :osx, '10.7' 

link_with 'MyApp', 'MyApp Tests' 
pod 'AFNetworking', '~> 1.0' 
pod 'Objection', '0.9' 

От Cocoapods docs и this answer


Update : Это больше не работает для Cocoapods 1.0+, правильный способ реализации подфайла:

platform :ios, '9.0' 
inhibit_all_warnings! 

target 'MyApp' do 
    pod 'ObjectiveSugar', '~> 0.5' 

    target "MyAppTests" do 
    inherit! :search_paths 
    pod 'OCMock', '~> 2.0.1' 
    end 
end 

Источник: https://guides.cocoapods.org/syntax/podfile.html#podfile

+3

Я предпочитаю это удалять цель тестирования. – Veeru

+0

Это должен быть принятый ответ! –

+0

link_with больше не работает с cocoapods 1.0.1. –

0

Я согласен с ответом jwswart, потому что довольно много раз, я понял, что проблема только с определения зависимостей для «MyApp» и оставляя «MyAppTests», как в:

цель: 'MyApp' делать

..

конец

разрушает процесс сборки, потому что классы, определенные в «MyApp», используют зависимости, которые не видны в «MyAppTests».Таким образом, как jwswart предложил:

link_with 'MyApp', 'MYAPP тесты'

-3

Просто попробуйте прокомментировать эту линию для вашей цели

# use_frameworks! 

~~

Смежные вопросы