Мой проект использует Xcode 11.3.1 и структурирован следующим образом:
MyProject
- MyProject.xcworkscapce
- MyFramework
- MyApp
-MyApp (main-target)
-MyAppUITests (uiTest-target)
MyApp импортирует MyFramework
, и его можно собрать и запустить. Чтобы это работало, я добавил MyFramework
в main-target в main-targets General/Frameworks and Libraries.
В моей цели UITest мне нужно получить доступ к некоторым классам (Accessibility-Identifier-Definitions) из MyFramework
, поэтому мне нужно как-то их импортировать.
Обе цели строятся, и основная цель работает без проблем. Я также могу запускать UI-тесты на симуляторе. К сожалению, я вынужден запускать свои тесты на реальных устройствах, и здесь я получаю эту ошибку времени выполнения:
The bundle “MyAppUITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
(dlopen_preflight(/var/containers/Bundle/Application/E581B3BA-A9A2-4AA3-A1BA-91C57DCD3846/MyAppUITests-Runner.app/PlugIns/MyAppUITests.xctest/FHCommunityUITests): Library not loaded: @rpath/MyFramework.framework/MyFramework
Referenced from: /var/containers/Bundle/Application/E581B3BA-A9A2-4AA3-A1BA-91C57DCD3846/MyAppUITests-Runner.app/PlugIns/MyAppUITests.xctest/MyAppUITests
Reason: image not found)
Я довольно новичок в этом фреймворке (а также в UI-тестах), и уже два дня я занимаюсь этой проблемой. Большинство сообщений о подобных проблемах связаны с неправильно указанными подфайлами, но в моем примере проекта barebone, который я настроил, чтобы не разрушать мой реальный проект, я не использую никаких подов. Я пробовал, наверное, все предложенные решения (и почти все комбинации :(), и ни одно из них не работает.
Мне потребовалось некоторое время, чтобы понять, что в моем uiTest-target фазах сборки я действительно могу добавить новую фазу запуска сценария, и я предполагаю, что мне нужно каким-то образом связать здесь MyFramework. Это правильно? Может ли кто-нибудь помочь мне определить сценарий запуска?
И да, я пытался очистить свое приложение (а также удалил производные данные).
Помощь высоко ценится. Благодарю вас!