Xcode 将OCHamcrest添加到IOS项目
该项目的文档说,只要添加框架和链接器标志,就可以了。一小时又一小时的浪费时间之后,我发现那不是真的。如果这样做,项目将看不到头文件。你必须把框架放在某个地方,编译器才能找到标题。在我的例子中,当我将框架放到/Developer/Library/Frameworks中,然后告诉它在搜索该框架目录时递归(不要摆弄搜索目录的标题)时,这就起到了作用 然后我遇到的问题是链接失败,并显示以下消息:Xcode 将OCHamcrest添加到IOS项目,xcode,unit-testing,ochamcrest,Xcode,Unit Testing,Ochamcrest,该项目的文档说,只要添加框架和链接器标志,就可以了。一小时又一小时的浪费时间之后,我发现那不是真的。如果这样做,项目将看不到头文件。你必须把框架放在某个地方,编译器才能找到标题。在我的例子中,当我将框架放到/Developer/Library/Frameworks中,然后告诉它在搜索该框架目录时递归(不要摆弄搜索目录的标题)时,这就起到了作用 然后我遇到的问题是链接失败,并显示以下消息: ld: framework not found OCHamcrestIOS 我注意到该项目的文档中说它是为
ld: framework not found OCHamcrestIOS
我注意到该项目的文档中说它是为Xcode 4更新的。在检查了代码后,我删除了框架的二进制文件,并且浪费了大量时间无法构建框架的IOS版本
文件是
我还注意到,在该文档中,cocoa说明告诉您将复制文件阶段放入构建中。我试过了。没有改变结果
上次我掉进了一个下沉的坑里,是因为图书馆是C++代码。也许这仍然是问题所在
除非这里有一个快速的解决方案,否则我将继续使用Statsserts,尽管前景令人恶心,但情况要糟糕得多
更新:重新安装的Xcode。还是不行。有一些廉价的方法可以实现这一点,比如将头文件添加到项目中。我对此做了一个调查,结果发现一个人也有同样的经历。我在项目中使用了许多框架。有些是别人的,有些是我的。看一下文档,我认为复制阶段的东西不适合iOS开发。所以我不会那样做。我从下载了最新的zip,它似乎包含一个现成的iOS静态库。(不在我的mac电脑上,因此我无法测试以确认) 无论如何,我包含静态lib的方法是
- 选择项目(XCode 4)
- 选择要将库添加到的目标
- 选择构建阶段选项卡
- 展开链接二进制与库
- 单击[+]按钮添加框架
- 单击[添加其他…]按钮,导航到包含.framework目录的目录并选择该目录
不过,从OCHamcrest下载的zip中似乎包含正确的OCHamcrestiOS.framework。因此,如果您将该目录存储在某个位置,并使用我上面概述的步骤链接到它,它应该可以正常工作。我在项目中使用了许多框架。有些是别人的,有些是我的。看一下文档,我认为复制阶段的东西不适合iOS开发。所以我不会那样做。我从下载了最新的zip,它似乎包含一个现成的iOS静态库。(不在我的mac电脑上,因此我无法测试以确认) 无论如何,我包含静态lib的方法是
- 选择项目(XCode 4)
- 选择要将库添加到的目标
- 选择构建阶段选项卡
- 展开链接二进制与库
- 单击[+]按钮添加框架
- 单击[添加其他…]按钮,导航到包含.framework目录的目录并选择该目录
不过,从OCHamcrest下载的zip中似乎包含正确的OCHamcrestiOS.framework。因此,如果您将该目录存储在某个位置,并使用我上面概述的步骤链接到该目录,它应该可以正常工作。因此,经过反复研究,我现在采用的解决方案是在项目中包含该框架