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


  [切换到进程3840线程0x0]
  dyld:未加载库:> Library / Frameworks / TBPluginManager.framework / Versions / A / TBPluginManager
    引用自:/Users/elise/Library/Developer/Xcode/DerivedData/BookManager-cooglmktssmptpatjuetculukiqd/Build/Products/Release/BookManager.app/Contents/MacOS/BookManager
  
  原因:找不到图片
  共享库Apply-load-rules全部
  现在没有可用的内存来编程:不安全地调用malloc


现在我可以理解为什么单元测试找不到框架了,因为它不是位于Library / Frameworks / TBPluginManager.framework而是位于/Library/Frameworks/TBPluginManager.framework。但是我该如何告诉单元测试包呢?我试过设置Framework,Header和Library Search路径构建设置,但无济于事。

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

跟进:令Grady Player拥有一个帐户只是为了告诉我我是个白痴,这让我很不高兴,这可能是因为他或她是对的。我可爱,可靠的框架正在生成警告和错误,就像它们过时了一样,因此我将问题转给了Apple开发人员技术支持。如果有什么有趣的事情,我会在这里发布。否则,我将删除问题。

最佳答案

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

10-05 23:37