Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: FireDragonMuleОтветов: 9

Я запускаю модульные тесты в своем проекте 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, но он все еще не работает.

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

xcodeiosxctestdyldxcode7

Ответы

Ответ 1 · рейтинг 5 · FireDragonMule

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

Ответ 2 · рейтинг 5 · taojigu

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

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

Ответ 3 · рейтинг 4 · Timur Suleimanov

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

Ответ 4 · рейтинг 1 · John Goodstadt

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

Ответ 5 · рейтинг 1 · Simon Hillam

В моем случае не было ничего плохого в профилях обеспечения, это было связано с архитектурами в проекте, за исключением 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

Ответ 6 · рейтинг 1 · konop

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

Ответ 7 · Drew

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

Ответ 8 · JBaczuk

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

Ответ 9 · zippo

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы