Ошибка теста Xcode 10 при работе на старых симуляторах iOS - "Не удалось загрузить тестовый пакет... не найдено подходящего изображения"

Я установил Xcode 10 и обновил свое iOS-приложение до Swift 4.2. Когда я запускаю свои тесты (как пользовательский интерфейс, так и модуль) через XCode на симуляторе iPhone под управлением iOS 12, тесты успешно запускаются. Когда я пытаюсь запустить тесты на симуляторе под управлением предыдущей версии iOS (например, iOS 10.3.1), я получаю "сбой при загрузке тестового пакета". Эти тесты были успешно выполнены на Xcode 9.4. Я могу запустить свое приложение на этом старом симуляторе без проблем.

Вывод Xcode выглядит следующим образом ("Список чтения" - это имя приложения):

2018-09-16 15: 11: 36.667 ReadingList [11401: 11478426] Не удалось загрузить тестовый пакет из файла:///Users/andrewbennet/ Библиотека / Разработчик /Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/: Ошибка домена =NSCocoaErrorDomain Code=3587 "dlopen_preflight(/Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxonesm_jp/DjR_PD_WD_WD_WD_WD_WD_DjS_ServD_D_P0_Sy_Su_Su_Su_Su_Se_WD_WD_WD_WD_D_Per_Dy_Dj_ej_bj_dj_tj_bj)_ru /PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests): подходящее изображение не найдено. Найдено.xctest / ReadingList_UnitTests: mach-o, но не построен для симулятора iOS " UserInfo={NSLocalizedFailureReason= Пакет поврежден или отсутствует необходимый ресурс., NSLocalizedRecoverySuggestion= Попробуйте переустановить пакет., NSFilePath=/Users/andrewbennet/ Библиотека / Разработчик / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbjmzebuya / Build / Продукты /Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitText /DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests): подходящего изображения не найдено. Действительно нашел:, NSBundlePath=/ Пользователи / andrewbennet / Библиотека / Разработчик / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbjmzebuya / Build / Products / Debug-iphonesimulator / ReadingList.app / PlugIns / ReadingList_UnitTests.List потому что он поврежден или отсутствует необходимые ресурсы.}

Линия mach-o, but not built for iOS simulator Кажется, это может быть ключевым. Как я могу решить это?

2 ответа

Решение

Тестовые объекты имели iOS Deployment Target установка в качестве значения по умолчанию.

В Xcode 9.4 это соответствует "iOS 11.4", но тесты по-прежнему можно запускать на симуляторе "iPhone 7 (10.3)" по некоторым причинам. В Xcode 10, кажется, есть изменение в поведении, так как тесты больше не выполняются на симуляторах под управлением версий iOS до "iOS 12" по умолчанию.

В Project Navigator выберите файл проекта. Выберите цель в окне конфигурации проекта. Выберите вкладку Build Settings, (Basic и Levels). Прокрутите вниз до iOS Deployment Target и затем выберите нужную версию ОС.

Это решило проблему для меня. ура RGDS Дейв

Другие вопросы по тегам