cocoa - 如何解决 Xcode 4 单元测试中的 "dyld: Library not loaded:"错误?

标签 cocoa unit-testing xcode4 dyld

我有一个 Xcode 4 项目,一个带有 Spotlight、Core Data 和单元测试的 Cocoa 应用程序。该应用程序使用我编写的名为 TBPluginManager 的自定义框架来加载包。我最初在 Xcode 3 中编写了该框架,但是当我在 Xcode 4 中使用它时,GDB 一直在提示,所以我在 Xcode 4 中重新创建了该框架。这让 GDB 很高兴,直到我尝试运行内置的单元测试并得到:

[Switching to process 3840 thread 0x0] dyld: Library not loaded: > Library/Frameworks/TBPluginManager.framework/Versions/A/TBPluginManager Referenced from: /Users/elise/Library/Developer/Xcode/DerivedData/BookManager-cooglmktssmptpatjuetculukiqd/Build/Products/Release/BookManager.app/Contents/MacOS/BookManager

Reason: image not found sharedlibrary apply-load-rules all No memory available to program now: unsafe to call malloc

现在我可以理解为什么单元测试找不到框架,因为它不是位于 Library/Frameworks/TBPluginManager.framework 而是位于/Library/Frameworks/TBPluginManager.framework。但是我如何将其告诉单元测试包呢?我尝试设置框架、标题和库搜索路径build设置,但无济于事。

顺便说一句,我已经回到 GHUnit,但我也想让它正常工作。

后续:尽管格雷迪·普莱尔(Grady Player)获得一个帐户只是为了告诉我我是个白痴,这让我很烦恼,但他或她可能是对的。我可爱、可靠的框架正在生成警告和错误,就像它们已经过时一样,因此我已将问题移交给 Apple 开发人员技术支持。如果有什么有趣的事情发生,我会把它发布在这里。否则,我将删除该问题。

最佳答案

确保安装在/Library/Frameworks/TBPluginManager.framework 的框架有效,并且与您尝试链接到的架构相同。如果您不确定再次重新编译框架,请将其放入自定义位置并在框架搜索路径中设置该自定义位置。

关于cocoa - 如何解决 Xcode 4 单元测试中的 "dyld: Library not loaded:"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810182/

相关文章:

javascript - Jasmine toBeCloseTo 第二个参数是什么?

php - 在生产中使用 Cakephp 测试

php - Symfony2 PHPUnit 时钟模拟不起作用

objective-c - 可捏网页 View

objective-c - 如何动态添加列表到搜索字段?

cocoa - 从 Cocoa 应用程序运行 Applescript

objective-c - 为什么此代码不符合 KVO 标准?

objective-c - 确定 NSString 中的路径是指向目录还是​​文件?

iphone - 导入 Xcode 项目并访问不同项目的文件

iphone - 在objective-c中直接在后台发送电子邮件