繁体   English   中英

RestKit和CocoaPods的Xcode 7链接器错误

[英]Xcode 7 linker error with RestKit and CocoaPods

我刚刚升级到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的存在,但是什么也没有似乎有帮助。

我按照以下步骤解决了这个问题:

  1. 升级我的cocoapods(0.39.0)
  2. 转到构建目标的设置并搜索标题搜索路径。
  3. 使所有标头搜索路径都是递归的(这很重要)我也尝试过仅对restkit进行递归,但是由于某种原因,我不知道它不起作用。
  4. 然后禁用位码。
  5. 最终建立。

参考屏幕截图

有关更多信息, 请参见此链接

从较早版本的RestKit (0.23.3)升级到0.25.0对我来说很有效。

我也将Xcode升级到7.0.1,删除了xcworkspace,并重新运行了pod install以取得良好的效果。

升级您的cocoapods和xcode7.0.1

并删除xcworkspace和pod再次安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM