Swift Objective-C 库“使用未声明的类型”
Swift “use of undeclared type” for Objective-C library
我想在 Swift 项目中使用 Objective-C 库 https://github.com/ameingast/cocoaimagehashing。我用 Cocoapods 安装了它。
我无法使用它,它在我构建时抛出以下错误:“使用未声明的类型”或 "Use of unresolved identifier"。
奇怪的是,我写OSImageHashingProvider,点击它的时候,竟然跳转到了它定义的.h文件中。
我在项目中添加了一个桥接头,但我没有理由相信它是活动的。
我在 Build Settings -> Swift Compiler - General / Objective C Brigding Header 中添加了它。
构建设置 -> 其他链接器标志有 -ObjC。和 -l “CocoaImageHashing”。
我的播客是:
target 'Projectname' do
pod 'CocoaImageHashing', :git => 'https://github.com/ameingast/cocoaimagehashing.git'
end
我不使用use_frameworks!因为它在构建时抛出错误。
解决方法是什么?
问题是 Cocoapods 没有正确安装这个特定的库。
在目标级别,在构建设置 -> 搜索路径 -> Header 搜索路径中:
Cocoapods 生成的路径不对应任何实际的文件夹结构:“${PODS_ROOT}/Headers/Public/CocoaImageHashing”当 /Headers/Public 结构不存在时。
我删除了它并保留了 ${PODS_ROOT}/CocoaImageHashing ,对应于文件夹 Projectname/Pods/Pods-Projectname.debug.xcconfig 现在可以看到库了。
我想在 Swift 项目中使用 Objective-C 库 https://github.com/ameingast/cocoaimagehashing。我用 Cocoapods 安装了它。 我无法使用它,它在我构建时抛出以下错误:“使用未声明的类型”或 "Use of unresolved identifier"。
奇怪的是,我写OSImageHashingProvider,点击它的时候,竟然跳转到了它定义的.h文件中。
我在项目中添加了一个桥接头,但我没有理由相信它是活动的。
我在 Build Settings -> Swift Compiler - General / Objective C Brigding Header 中添加了它。
构建设置 -> 其他链接器标志有 -ObjC。和 -l “CocoaImageHashing”。
我的播客是:
target 'Projectname' do
pod 'CocoaImageHashing', :git => 'https://github.com/ameingast/cocoaimagehashing.git'
end
我不使用use_frameworks!因为它在构建时抛出错误。
解决方法是什么?
问题是 Cocoapods 没有正确安装这个特定的库。
在目标级别,在构建设置 -> 搜索路径 -> Header 搜索路径中: Cocoapods 生成的路径不对应任何实际的文件夹结构:“${PODS_ROOT}/Headers/Public/CocoaImageHashing”当 /Headers/Public 结构不存在时。 我删除了它并保留了 ${PODS_ROOT}/CocoaImageHashing ,对应于文件夹 Projectname/Pods/Pods-Projectname.debug.xcconfig 现在可以看到库了。