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 现在可以看到库了。