Cocoapods 1.0:找不到头文件

时间:2016-05-22 17:32:45

标签: ios swift cocoapods bridging-header

我只是尝试从cocoapods 0.39.x更新到Cocoapods 1.0。 运行

  

pod install

来自终端的

不会发出警告。一切似乎都很正常。但是,当我尝试构建我的项目时,它会输出:

  

找不到AFNetworking / AFNetworking.h文件

我的pod文件看起来像这样(还有一些依赖项,但我只列出了它的一部分):

platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

target 'MyApp' do
    pod 'AFNetworking', '~> 2.6'
    pod 'BEMCheckBox'
    pod 'ActionSheetPicker-3.0', '~> 2.0.5'
    pod 'SCLAlertView'
    pod 'DZNEmptyDataSet'
    pod 'SSZipArchive'
end


target 'MyAppTests' do

end

由于一些项目是用Objective-C编写的,我创建了一个桥接标题:

#import <AFNetworking/AFNetworking.h>
#import <ActionSheetPicker_3_0/ActionSheetPicker.h>
#import <SSZipArchive/SSZipArchive.h>
#import <DZNEmptyDataSet/UIScrollView+EmptyDataSet.h>

我在$(inherited)Header Search PathsUser Header Search paths明确包含了Framework Search paths,但错误并未消失。 有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:33)

错误消息非常具有误导性。 起初我以为我的标题搜索路径有些问题,所以我基本上尝试了在stackoverflow上找到的所有内容。

如果您在Podfile中使用use_frameworks!,则不必在桥接标头中包含每个Objective-C pod。如果pod是,则只需执行此操作作为静态库分发,而不是作为框架。

我做了以下

  1. Cmd + option + shift + k清除您的构建文件夹
  2. 运行pod install
  3. 删除桥接头中的行,它会告诉您找不到头文件,并且只要您想在一个特定的Swift文件中使用该模块,就可以使用简单的import语句,例如: import AFNetworking

答案 1 :(得分:4)

我尝试删除〜/ Library / Developer / Xcode / DerivedData / *并重建项目,它对我有用。