Cocoa应用沙盒 - 加载捆绑包时出错

5
我设置了沙盒,现在无法运行单元测试。我收到以下错误消息:
objc [18812]:GC:强制关闭GC,因为OBJC_DISABLE_GC已设置 2012-06-14 09:19:42.689 Gitpilot [18812:603]加载错误/Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests:dlopen(/Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests,262):未找到合适的映像。发现: /Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest/Contents/MacOS/GitpilotTests:打开()失败,errno = 1 IDEBundleInjection.c:加载捆绑包'/Users/corey/Library/Developer/Xcode/DerivedData/Gitpilot-bedgmtkbdheptpbpjfklegmqyipi/Build/Products/Debug/GitpilotTests.octest'时出错 2012-06-14 09:19:42.733 Gitpilot [18812:603] ApplePersistenceIgnoreState:不会触摸现有状态。新状态将写入/var/folders/rs/63y00fxj7dj07g91vrswhk240000gn/T/com.gitpilot.Gitpilot/com.gitpilot.Gitpilot.savedState 我正在使用带有OCMock的SenTesting Framework。 有任何想法吗?
谢谢!

1
原来这是苹果的沙盒守护进程中的一个错误。当启用授权时,它会阻止测试包的加载。 - Corey C
2个回答

12

如果您在项目设置编辑器中创建一个新的构建配置,您可以进入构建设置选项卡并为该配置禁用代码签名和权限。然后,在方案编辑器中选择该配置进行单元测试,仍然能够运行单元测试而不影响您的发布和调试版本。


+1 经过实证验证。这应该被记录为正确答案。 - FluffulousChimp
1
当然,这是在假定你的单元测试不需要授权的情况下。例如,您将无法对组容器的访问进行单元测试。 - Scott Marks

0

我在Xcode 5中遇到了同样的问题。结果发现我必须在正常目标中禁用沙盒,然后测试目标才能正确加载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接