dyld: библиотека не загружена. Причина: подходящее изображение не найдено
Я посмотрел здесь несколько ответов, но ни один из них не устранил мою проблему.
У меня есть рабочая область Xcode с пользовательской структурой и проект приложения для iOS. До сегодняшнего утра проект работал нормально, сейчас он собирается, но сразу вылетает:
dyld: Library not loaded: @rpath/ONCKit.framework/ONCKit
Referenced from: /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/atero_t
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100118000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit
/private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100280000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit
Я экспериментировал с настройками сборки весь день, и я просто потерян.
6 ответов
Я столкнулся с этой проблемой сегодня и решил ее таким же образом. Отмена и восстановление подписи кода решает эту проблему. Но чтобы пролить свет на часть "почему".
Apple пошла дальше и изменила содержимое сертификата. Чтобы быть более точным, оно добавило новое поле "OU" (подразделение) в поле "Тема". Отменив и восстановив подпись кода, он добавил недостающее поле, и проблемы исчезли.
В случае, если это кому-нибудь поможет, ни одно из решений, которые я постоянно находил в Интернете, не работало на меня. Натянул наши волосы на 2 дня и все перепробовал. Я отозвал собственный сертификат, новый профиль обеспечения, добавил файлы во встроенный и т. Д.
Не мог понять, что случилось, пока я не заметил, что в доступе к Keychain мои сертификаты Apple WWDR и iOS Distribution были установлены на "Always Trust"
вместо "Использовать системы по умолчанию". Переключил мои сертификаты обратно на "Use Systems Defaults"
и все вернулось к работе как надо. Я понятия не имею, почему и как это работает, но это произошло.
Оказывается, Xcode кеширует некоторые специфические для устройства вещи, которые могут запутаться, если вы запускаете свои приложения на нескольких устройствах. Простое решение - удалить кэш Xcode. Следующая команда очистит его для вас
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode
Простое изменение профиля подписи кода решило проблему. Перейти к цели. Затем выбрал другой вариант в Общие-> Подписание-> Команда
Очистить полученные данные Xcode
Запустите Finder > Go > Go to Folder > Вставьте строку ниже
~/Library/Developer/Xcode/DerivedData
Теперь перезапустите Xcode.
Просто для любых других людей, которые, как и я, сталкиваются с этой проблемой совсем недавно и задаются вопросом, где и как именно отозвать, какой объект подписи кода (это в Предпочтения> Учетная запись):
У меня тоже все работало нормально по утрам. Я читал где-то еще о перезагрузке. Поэтому, прежде чем пройти еще один длительный сеанс подписывания-идентификации-профилей-профилей, я просто перезапустил свой компьютер. И это исправило это, очевидно, без каких-либо дополнительных усилий.
Swift, Xcode 7.3 на OS X 10.11.4.
Ну, в моем случае я использую cocoapods, и из файлов pod измените:
target 'CoreMotionExample' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for CoreMotionExample
pod 'Firebase/Analytics'
к
target 'CoreMotionExample' do
# Comment the next line if you don't want to use dynamic frameworks
# use_frameworks!
# Pods for CoreMotionExample
pod 'Firebase/Analytics'
Потом все начинает работать... Не знаю почему
Моя проблема была решена удалением "use_frameworks!" и заменив его на "use_modular_headers!" в Podfile и выполняя обновление модуля и установку модуля в терминале.
надеюсь, это поможет вам, как и мне после того, как я неделю почесал голову в этой проблеме.