我想爲我的iphone應用程序設置應用程序單元測試。所以我製作了一個應用程序目標的副本,以及蘋果的documentation中描述的單元測試包目標。iPhone單元測試鏈接問題,無法找到DevToolsBundleInjection.framework
在遵循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
並做了一個符號鏈接。然後運行該應用程序說,它不能連接應用程序的文件:
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'
然後,我切換回運行正常目標的應用程序,它跑了我所有的單元測試,並退出!我再次清理並建造,然後正常目標正常運行。單元測試目標仍然沒有工作。
請您提供反饋意見嗎? – 2010-02-20 10:53:36
@Johannes魯道夫:我同意。 – Goles 2010-02-22 12:09:30