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. Затем выберите другую опцию в разделе "Общий" > "Подпись" > "Команда"