ios - RestKit 和 CocoaPods 的 Xcode 7 链接器错误

标签 ios core-data linker restkit

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

最佳答案

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

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

Reference screenshot

更多信息see this link

关于ios - RestKit 和 CocoaPods 的 Xcode 7 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619935/

相关文章:

ios - 呈现 View Controller 的自定义转换不起作用

ios - 核心数据保存错误

ios - 具有不同记录和 UIPickerView 的 NSFetchRequest

c - 是否可以分多个步骤链接/正在链接 "associative"?

ios - UIKeyboardWillHideNotification 上无法识别的选择器

ios - NSSortDescriptor 按最后一条消息时间戳对对话进行排序

c - GCC:我怎样才能使这个编译和链接工作?

c - 链接中的多重定义

ios - 根据设备区域设置格式化日期字符串

xml - 在后台线程上将 XML 解析为 CoreData 以不锁定 UI