Я пытаюсь настроить модульные тесты приложения для своего приложения iphone. Поэтому я сделал копию цели приложения и цели пакета юнит-тестирования, как описано в документации Apple .
Следуя указаниям 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'
Затем я вернулся к запуску обычной цели для приложения, и оно запустило все мои модульные тесты и вышло! Я снова почистил и собрал, а затем нормальная цель побежала нормально. Цель модульного теста все еще не работала.