Iphone:无法链接h-unit目标到app目标,无法执行二进制文件



这是一个试图完成本教程提供的GHUnit测试目标的问题。它是关于将测试目标链接到源目标,这样您就不必在测试目标中手动包含源文件。以下是提出的解决方案的节选。

使用Xcode 4为现有iOS项目添加单元测试

Project MyExistingApp ->+添加目标->iOS→其他的在;Cocoa单元测试包

将新目标命名为"Unit Tests"或"MyAppTests"

选择新的"Unit Tests"目标并单击Build Phases选项卡,展开target

依赖项并添加MyExistingApp作为目标依赖项

单击Build Settings选项卡并将Bundle Loader设置为

$ (BUILT_PRODUCTS_DIR)/MyExistingApp.app MyExistingApp

将测试主机构建设置设置为

$ (BUNDLE_LOADER)

在你的应用目标中,将Symbols Hidden by Default构建设置为

没有

我得到它编译与GHUnit测试目标下面的教程,但我得到一个运行时错误:

warning: This configuration supports "Darwin64" but is attempting to load
an executable of type i386 which is unlikely to work.
Attempting to continue.
`/usr/lib/dyld' has changed; re-reading symbols.
warning: Inconsistent DBX_SYMBOL_SIZE
/Users/...Tests.app/Tests: /Users...Tests.app/Tests: cannot execute binary file

谢谢你的帮助!

编辑

我意识到上面发布的教程和使用GHUnit有一个问题。上面的教程假设您正在使用OCUnit,它会启动一个bundle加载器目标。但是GhUnit目标必须是可执行的。如果有人想分享如何将源文件链接到可执行目标,我会很感激。现在,我将使用GHUnit手动完成所有操作。

不确定这是否是正确的答案,但它对我有效:

我得到了GHUnits测试用例,并用SenTestCases包装它们。XCode自动调用sentestcase,所以我没有麻烦运行测试。

工作像一个魅力,得到我的异步测试没有任何更多的担心。

相关内容

  • 没有找到相关文章

最新更新