Xcode 7.0 XCTest dyld: не удалось загрузить вставленную библиотеку IDEBundleInjection

Я запускаю модульные тесты в своем проекте iOS, и когда он работает, он падает и выдает это:

dyld: could not load inserted library '/private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection' because no suitable image found.  Did find:
/private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection: mmap() error 1 at address=0x00436000, size=0x00004000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection

Я использую XCode 7.0 и тестирую на iPod под управлением iOS 8.3. Я удалил производные данные и перезапустил XCode, но он все еще не работает.


person FireDragonMule    schedule 04.09.2015    source источник
comment
Это происходит на устройстве/симуляторе iOS 9.0? Это может быть вызвано использованием бета-версии Xcode 7 в несовместимой версии iOS.   -  person Kevin    schedule 05.09.2015
comment
Я запускаю свои модульные тесты на самом устройстве, потому что некоторые из моих фреймворков предназначены только для arm7. Устройство, которое я использую, — это iPod с версией 8.3.   -  person FireDragonMule    schedule 05.09.2015
comment
У меня была такая же проблема с iPhone 5 (iOS 9.1), но если я использую симулятор, он работает правильно.   -  person Miguel    schedule 20.11.2015
comment
У меня такая же проблема... Он хорошо работает на симуляторе, но не на устройстве, у вас есть решение для этого?   -  person Mikael    schedule 08.03.2016


Ответы (9)


Я исправил это, просто создав новую цель UnitTest, скопировав все и удалив старую.

person FireDragonMule    schedule 07.12.2015
comment
Если у вас есть лучший ответ, не стесняйтесь публиковать, и я выберу ваш. За этот пост проголосовали несколько раз, поэтому люди хотят получить ответ, даже если он не самый лучший. - person FireDragonMule; 15.12.2015
comment
О, извините, это была не критика. Я сам проголосовал за это. Это была просто саркастическая констатация истины. - person Michal; 15.12.2015
comment
у меня это сработало только после перезагрузки устройства (устройство iOS10 в Xcode8) - person Pellet; 14.11.2016

В общей панели не оставляйте команду «Нет».

введите описание изображения здесь

В то же время: выберите знак кода в Настройках сборки-> Подписание кода-> Идентификация подписи кода.

person taojigu    schedule 23.12.2015

Мне удалось это исправить, указав свой сертификат разработчика в build settings->code signing identity.

person Timur Suleimanov    schedule 02.12.2015

Я исправил это, выбрав правильную цель, а затем выбрав правильный идентификатор подписи кода в настройках. Он был установлен не по умолчанию — изменен на «Разработчик IOS» для записи настройки отладки.

person John Goodstadt    schedule 14.12.2015

В моем случае не было ничего плохого в профилях обеспечения, это было связано с архитектурами в проекте, за исключением arm64. Как только arm64 был добавлен как к тестовой цели, так и к цели хост-приложения, тесты прошли нормально (в Xcode 7.2). Ошибка была:

dyld: could not load inserted library '/private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection' because no suitable image found.  Did find:
/private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection: mmap() error 22 at address=0x00501000, size=0x00005960 segment=__LINKEDIT in Segment::map() mapping /private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection
person Simon Hillam    schedule 17.02.2016
comment
а как ты арм64 добавил? - person juhlila; 29.06.2016
comment
Просто в «Настройках сборки» как для цели приложения, так и для цели теста добавьте arm64 к «Архитектурам» и к «Действительным архитектурам». - person Simon Hillam; 30.06.2016

У меня была такая же проблема, и мне пришлось перезагрузить устройство. Я использовал iOS 10 с Xcode 8.0 (разрабатывал в Swift 3.0)

person konop    schedule 05.01.2017
comment
То же самое; перезагрузка устройства работала нормально. Перезапустил Xcode, а также для хорошей меры. iOS 10.2.1, Xcode 8.2.1, проект Swift 3.0. - person John Whitley; 01.02.2017

Мне нужно было установить команду в Project-> App Target-> General. Вместо допустимой команды было установлено значение «Нет».

person Drew    schedule 19.12.2015

Мой базовый SDK в настройках сборки XCode был настроен на более позднюю версию iOS, чем на телефоне, поэтому мне пришлось обновить ОС на телефоне.

person JBaczuk    schedule 27.09.2016

Я исправил эту проблему, перезагрузив устройство iOS.

person zippo    schedule 17.11.2016