【发布时间】:2014-03-08 15:37:10
【问题描述】:
我正在发布我的 CocoaPods 库的新版本。在这个版本中,我包含了UIDevice-Hardware.h 类别。
我知道使用-ObjC 标志在静态库中导入类别。在Build Phases -> Copy Headers 中,UIDevice-Hardware.h 在“项目”中。
当我运行pod lib lint --no-clean 时,我以为-ObjC 标志会被设置,但我得到了错误:
- ERROR | [xcodebuild]
TCBlobDownload/TCBlobDownload/TCBlobDownload/TCBlobDownloader.m:16:9: fatal error:
'UIDevice-Hardware.h' file not found
Pods project available at `/private/tmp/CocoaPods/Lint/Pods/Pods.xcodeproj` for inspection.
所以我在.podspec 中添加了这一行:
spec.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC -all_load -force_load' }
是的,所有三个标志,只是为了确定。
我仍然遇到同样的错误。我检查了上述Pods.xcodeproj,在它的目标中,Other Linker Flags 是空的,没有-ObjC 或其他任何东西。但是.xcconfig 文件在.podspec 中定义了我的标志...我不知道从哪里开始。
当我将它导入到我设置标志的测试项目中时,该库构建良好。如何使用 CocoaPods 实现 lint?
【问题讨论】:
-
你的 glob 是否选择了头文件来说明要在 pod 中包含哪些文件?
-
@Paul.s 感谢您的评论,它帮助我解决了这个问题。由于我将此类别放在子文件夹中,因此我将
spec.source_files = 'TCBlobDownload/TCBlobDownload/*.{h,m}'替换为TCBlobDownload/TCBlobDownload/**/*.{h,m}并且它已修复。哑的。谢谢!
标签: objective-c xcode cocoapods