【发布时间】:2010-02-10 07:11:25
【问题描述】:
我正在尝试为我的 iphone 应用程序设置应用程序单元测试。因此,我制作了 app 目标的副本,以及 Apple 的 documentation 中所述的单元测试捆绑目标。
按照 Apple 的指示后,我无法在单元测试中引用我的类,因此我使用“Bundle Loader”构建设置将应用程序链接到单元测试包,并将主要目标设置为导出符号。这解决了编译时间错误,并且在我更改它后它立即工作并执行了我的测试。但是一旦我清理并再次构建,当我尝试在设备上运行时开始出现此错误:
Unable to read symbols for "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1 (7C144)/Symbols/Developer/Library/PrivateFrameworks/DevToolsBundleInjection.framework/DevToolsBundleInjection" (file not found).
文件确实不存在。我在以下位置找到了 .framework 文件: /Xcode3.1.4/Library/PrivateFrameworks PrivateFrameworks
并建立了一个符号链接。然后运行app说不能链接app的文件:
010-01-25 20:19:22.330 SmokeyTheBear[5808:207] Error loading /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests: dlopen(/private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests, 262): Symbol not found: _OBJC_CLASS_$_AppDelegate
Referenced from: /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests
Expected in: /var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/UDorse
in /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests
DevToolsBundleInjection: Error loading bundle '/private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest'
然后,我切换回运行应用程序的正常目标,它运行了我所有的单元测试并退出了!我再次清理并构建,然后正常目标正常运行。单元测试目标仍然不起作用。
【问题讨论】:
-
您能提供反馈吗?
标签: iphone objective-c cocoa-touch unit-testing