Мой проект использует Xcode 11.3.1 и имеет следующую структуру:
MyProject
- MyProject.xcworkscapce
- MyFramework
- MyApp
-MyApp (main-target)
-MyAppUITests (uiTest-target)
MyApp импортирует MyFramework
и может быть скомпонован и запущен просто отлично. Чтобы это работало, я добавил MyFramework
к главной цели в основные цели Общие сведения / Каркасы и библиотеки .
В моей цели UITest мне нужно получить доступ к некоторым классам (Accessibility-Identifier-Definitions) из MyFramework
, поэтому мне нужно как-то импортировать их.
Обе цели создаются, а main - Цель работает без проблем. Я также могу запускать 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)
Я довольно новичок в этой инфраструктуре (а также для тестов пользовательского интерфейса), и вот уже два дня я занимаюсь этой проблемой сейчас. Большинство постов о похожих проблемах связаны с неверно указанными подфайлами, но в моем проекте-образце barebone, который я настроил, чтобы не уничтожить мой настоящий проект, я не использую какие-либо модули. Я испробовал, вероятно, все предложенные решения (и почти все комбинации :(), и ни одно из них, похоже, не работает.
Мне потребовалось некоторое время, чтобы выяснить, что в моей uiTest-target фазы сборки Я действительно могу добавить Новый сценарий запуска сценария , и я предполагаю, что мне нужно как-то связать MyFramework здесь. Это правильно? Может ли кто-нибудь помочь мне определить сценарий запуска?
И да, Я пытался очистить свое приложение (и я также удалил производные данные).
Помощь высоко ценится. Спасибо!