我刚刚升级到 Xcode 7 和 CocoaPods 0.38.2,在解决了一些 Swift 2 问题后,我针对 iOS 7 的混合 Objective-C 和 Swift 项目出现了以下链接器错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RKManagedObjectRequestOperation", referenced from:
objc-class-ref in NetworkHelper.o
"_OBJC_CLASS_$_RKManagedObjectResponseMapperOperation", referenced from:
type metadata accessor for ObjectiveC.RKManagedObjectResponseMapperOperation in MappingHelper.o
"_RKLogCoreDataError", referenced from:
___33-[RKEntityByAttributeCache load:]_block_invoke in libRestKit.a(RKEntityByAttributeCache.o)
___43-[RKManagedObjectImporter finishImporting:]_block_invoke in libRestKit.a(RKManagedObjectImporter.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
CoreData 包含在我的 .pch 文件中,并且包含在 RestKit 之前的桥接 header 中,并且 Bitcode 已关闭。我正在使用 RestKit 0.24.1。
由于 RestKit 似乎没有检测到 CoreData 框架的存在并且它的条件声明相应地被忽略了,我尝试了很多不同的方法来告诉我的应用程序或 RestKit pod 关于 Core Data 的存在, 但似乎没有任何帮助。
最佳答案
我按照以下步骤解决了这个问题:
- 升级我的 cocoapods (0.39.0)
- 转到我的目标的build设置并搜索 header 搜索路径。
- 使所有 header 搜索路径递归(这很重要)我也尝试过只对 restkit 进行递归,但出于某种原因我不知道它不起作用。
- 然后禁用位码。
- 最终构建。
更多信息see this link
关于ios - RestKit 和 CocoaPods 的 Xcode 7 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619935/