Cocoapods can't find header xcode 6

2019-01-31 16:46发布

问题:

I have a problem xcode can't find the headers of my pods in my wokspace.

The headers search path for the target seems ok

Here is the content of my podfile

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

But when i build the project i have this error in the prefix.pch

/Users/...../MyApp-Prefix.pch:17:13: 'AFNetworking.h' file not found

I have tried to add platform :ios, "8.0" in my podfile and do a pod update but still no luck

I have also tried to add $(inherited) like suggested in the SO question : Xcode 6 doesn´t find cocoapods libraries

I'm using xcode 6 on mavericks

回答1:

I found solution. In your project properties replace this:



回答2:

You might also want to link your pods with both your targets like so:

platform :osx, '10.7'

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

From Cocoapods docs and this answer


Update: This no longer works for Cocoapods 1.0+, the correct way to implement the Podfile is:

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

Source: https://guides.cocoapods.org/syntax/podfile.html#podfile



回答3:

I was able to fix this in my project. I had a second target for tests. I never used this target and the error disappeared after I deleted it from the project. So maybe not your main target is the source of the problem, but another one.



回答4:

I agree with jwswart's answer because quite many times I have realized that the issue with just defining dependencies for the 'MyApp' and leaving out 'MyAppTests' as in:

target :'MyApp' do

..

end

breaks the build process because the classes defined in 'MyApp' make use of the dependencies which are not visible in the 'MyAppTests'. Thus as jwswart suggested:

link_with 'MyApp', 'MyApp Tests'



回答5:

Just have a try to comment this line for your target

#  use_frameworks!

~~