链接器错误与Restkit,找不到Restkit.framework

时间:2012-08-24 19:49:10

标签: iphone ios xcode restkit

问题

在iOS上执行Restkit的安装说明后,我收到Apple Mach-o链接器错误:

enter image description here

我的流程

我尝试按照此处的Restkit安装说明进行操作:https://github.com/RestKit/RestKit/wiki/Installing-RestKit-in-Xcode-4.x

我首先通过Git将Restkit添加为子模块。

我将Restkit添加到我的项目中,并将必要的配置添加到Project的Target构建设置中 enter image description here enter image description here

然后我将Restkit添加为目标依赖

enter image description here

解决方案的线索

无论出于何种原因,Restkit中的一些文件出现在Red。

enter image description here

链接Restkit Framework

时会产生类似的行为

enter image description here

我尝试过什么

  1. 我尝试删除和读取Restkit无济于事。
  2. 我尝试在Xcode项目中移动它,但这只会让事情更加奇怪(目标不再认可它对Restkit的依赖性)。
  3. 我确认我在构建设置中输入的内容是正确的。
  4. 我检查了SO的解决方案,甚至检查了链接器错误的常见解决方案Apple Mach-O Linker Error when compiling for device我没有看到任何明显的解决方案(我可能错了)。
  5. 就是这样。我希望这足以解决问题。

    编辑:确认标题搜索路径的额外图像:

    enter image description here

4 个答案:

答案 0 :(得分:1)

嗯,解决方案很愚蠢,但我意识到Restkit实际上并不需要在iOS上构建Restkit.framework。它需要将libRestkit.a文件添加到“带库的链接二进制文件”部分。

这允许您在代码中添加<Restkit/Restkit.h>而不会出现编译错误或警告。

答案 1 :(得分:0)

您需要为要复制到构建目录的头文件手动构建RestKit目标。显然,主项目构建不能可靠地运行子项目构建吗?

所以,我修复此问题的步骤:

Select the RestKit run target
Build
Make sure the header search path was set on all target (apparently on project itself is not enough)
Build main project

如需更多分步说明,请浏览this tutorial。从here下载源代码。

答案 2 :(得分:0)

我有很多问题试图通过下载项目,尝试手动链接它们等来实现这一点。最后,我发现了可可豆荚,它是一种管理依赖关系的方式。我按照本指南:http://www.raywenderlich.com/12139/introduction-to-cocoapods帮助我起步并运行。在此过程之后,cocoapods为我介绍了其余的工具包依赖项。

答案 3 :(得分:0)

在我创建项目的计算机上,这一切都对我有用,但当我将项目复制到新计算机时,我遇到了同样的错误。

我认为原因是xcode无法找到可可豆荚创建的二进制文件。当您转到目标项目设置时,它可见。因此,只需将libPods.a从Project导航器拖到项目设置的链接二进制文件和框架部分即可。看一下屏幕截图,您可以看到新旧屏幕,简单的一步。enter image description here

基本上这样做只需添加库搜索路径

      LIBRARY_SEARCH_PATHS = (
                                   "$(inherited)",
                                   "$(PROJECT_DIR)/Pods/build/Debug-iphoneos",
                           );