【发布时间】:2015-12-13 17:01:16
【问题描述】:
我刚刚升级到 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 之前,并且 Bitcode 已关闭。我正在使用 RestKit 0.24.1。
由于 RestKit 似乎没有检测到 CoreData 框架的存在,因此它的条件声明被忽略了,我尝试了很多不同的方法来告诉我的应用程序或 RestKit pod 存在 Core Data ,但似乎没有任何帮助。
【问题讨论】:
-
我只是遇到了同样的问题
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RKManagedObjectRequestOperation", referenced from:,但根本没有使用任何 swift。 -
您是否已将 CoreData 框架添加到您的项目中? (binpress.com/tutorial/…)
-
@WilliamPower 是的,我做到了。这显然是 Xcode 7 的 CocoaPods 问题。
-
我刚刚升级到 Xcode 7,我遇到了同样的问题
-
我能够通过卸载可可豆荚然后重新安装可可豆豆来解决我的问题。之后,我通过发出“pod repo remove master”清理了可可豆荚主存储库,进行了“pod setup”,然后使用新版本的 RestKit 25.0 进行了“pod install”,一切正常。
标签: ios core-data linker restkit