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
Я экспериментировал с настройками сборки весь день, и я просто полностью потерялся.
Ответы
Ответ 1
Сегодня я столкнулся с этой проблемой и решил ее так же. Отмена и восстановление кода подписи решает эту проблему. Но пролить свет на "почему" его часть.
Apple продолжила работу и изменила содержимое сертификата. Чтобы быть более точным, он добавил новое поле "OU" (организационное подразделение) в разделе "Тема". Отменив и обновив подписание кода, он добавил недостающее поле и проблемы исчезли.
Ответ 2
Это помогает кому угодно, ни одно из решений, которые я нашел в Интернете, не работало для меня. Вытащил мои волосы на 2 дня и попробовал все. Я отозвал внутренний сертификат, новый профиль подготовки, добавленные файлы для встраивания и т.д.
Не удалось ли мне в жизни выяснить, что было не так, пока я не заметил, что в доступе к Keychain мои сертификаты Apple WWDR и iOS Distributions устанавливались на "Always Trust"
вместо "Use Systems Default". Переключил мои сертификаты на "Use Systems Defaults"
, и все вернулось к работе, как следует. Я понятия не имею, почему и как это работает, но это произошло.
Ответ 3
Оказывается, что 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
Ответ 4
Просто для других людей, которые, как и я, сталкиваются с этой проблемой совсем недавно и задаются вопросом, где и как именно отменить, какой объект подписи кода (он находится в настройках > Учетная запись):
Все работало отлично и для меня тоже утром. Я читал где-то еще о перезагрузке. Итак, перед тем, как пройти еще один длительный сеанс подписи-удостоверений-профилей-профилей, я просто перезапустил свою машину. И это исправлено, по-видимому, без каких-либо дополнительных усилий.
Swift, Xcode 7.3 на OS X 10.11.4.
Ответ 5
Чистые производные данные Xcode
Запуск Finder > Go > Перейти к папке > Вставить строку ниже
~/Library/Developer/Xcode/DerivedData
Теперь перезапустите Xcode.
Ответ 6
Просто изменение профиля подписи кода устранило проблему. Перейдите в Target. Затем выберите другую опцию в разделе "Общий" > "Подпись" > "Команда"