Dyld: библиотека не загружена: @rpath/libswiftCore.dylib/Изображение не найдено

Я запускаю свое приложение с xcode на мое устройство iOS, и я получаю этот и черный экран на устройстве iOS.

Консольный текст:

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/10DB2FE8-EF09-4857-B4AC-0DB2E4419D6F/App-Name.app/App-Name           
Reason: image not found        
(lldb)

Screenshot added

Ответ 1

Попробуйте добавить следующую строку в Пути поиска пути вашей цели.

@executable_path/Frameworks

your_target → Настройки сборки → Связывание → Пути поиска пути поиска

Ответ 2

У меня была такая же проблема. В результате я добавил структуру в следующих местах:

  1. General > Embedded Binaries
  2. General > Linked Frameworks and Libraries
  3. Build Phases > Link Binaries with Libraries

Введенные двоичные файлы, казалось, были для меня ключом.

Ответ 3

Мне помогает добавить @executable_path/Frameworks в проект Пути поиска пути, а не целевые. enter image description here your_project → Настройки сборки → Связывание → Пути поиска пути

Ответ 4

Ни один из других решений не помог мне, но все было исправлено, удалив каталог Xcode Derived Data​​strong > .

Ответ 5

Мне пришлось переключить "Встроенное содержимое со сводным кодом" на "Да", чтобы заставить мое приложение Obj-C работать после обновления встроенной среды Obj-C с помощью объекта Swift.

Ответ 6

О да. Я столкнулся с этой проблемой, тратя часы на решение. Вы можете попытаться установить "Всегда встраивать строгие стандартные библиотеки" в "Да" в разделе "Настройки сборки"> "Параметры сборки"

dyld: Library not loaded: @rpath/libswiftCore.dylib

(не забудьте сменить + cmd + K ваш проект после)

Ответ 7

В целевой среде Framework (не в приложении) перейдите в "Настройки сборки"> "Параметры сборки"> "Всегда встраивать стандартные библиотеки быстрого доступа в YES".

Это решило проблему для меня!

Ответ 8

Я столкнулся с той же проблемой, установив правильный идентификатор значка кода, решив проблему (параметры сборки → Идентификация подписи кода).

В соответствии с Apple техническими вопросами "Все сертификаты разработчика Enterprise и стандартного iOS, созданные после выхода iOS 8, имеют новое поле Team ID в нужном месте для запуска языковых приложений Swift"

Ответ 9

Я исправил удаление из каталога Xcode Derived Data:

~/Library/Developer/Xcode/DerivedData

Всем удачи!

Ответ 10

В моем случае эта проблема входит в проект Objective-c, в котором я использую среду Swift (AirWatch SDK).

Решения. Я решил эту проблему с помощью Xcode 9.3 и 11.0.1 iOS, как указано ниже:

  1. Перетащите свою быструю фреймворк в свой проект и перейдите в папку по умолчанию в вашем проекте.
  2. Затем добавьте их как встроенные двоичные файлы, как показано на снимке экрана.
  3. Измените статус фрейма от Required to Optional, как показано на снимке экрана. (Сборка фаз> Ссылка с бинарной библиотекой)

enter image description here

  1. Установите Always Embed Swift Standard Libraries на Yes в настройках сборки.

  2. Установите Subpath и выберите назначение как Framework для вашей добавленной структуры в Build Phases> Вставьте фреймворки, как показано на скриншоте. enter image description here

Надеюсь, это поможет кому-то.

Ответ 11

У меня была эта ошибка в проекте командной строки (Xcode 10.2 и macOS 10.14.3)

Решение было обновить до macOS 10.14.4

Проекты командной строки Swift не будут работать в macOS 10.14.3 и более ранних версиях, если только вы не установите пакет поддержки командной строки Swift 5 Runtime. Без этого пакета проекты командной строки Swift аварийно завершают работу при запуске с ошибками "dyld: Library notloaded". (46824656)

Из примечаний к выпуску Swift 5 для Xcode 10.2

Ответ 12

У меня было такое же сообщение об ошибке, вот как я его решил:

Проблема исходила из сертификатов, созданных автоматически Xcode. Мне пришлось отозвать эти сертификаты, чтобы их вернуть с сайта developer.apple.com

Решение тогда: - Перейти на developer.apple.com/сертификаты → Отменить сертификаты ИЛИ идите в Xcode > предпочтения > учетные записи > Подробнее > выберите Sigining identity > clic setting whell > revoke - Получите developmentper.apple.com и следуйте инструкциям по созданию новых сертификатов - В Xcode в моем проекте: перейдите в Code Signing Identity и подпишите обе строки отладки сгенерированным сертификатом - Обе строки выпуска установлены в "iOS Developer" - Тогда проект > чистый - Создание и запуск на устройстве

Ответ 13

@Сайкиран ответил, что работал.

Мои сертификаты были созданы до выхода iOS 8. Я отозвал все свои сертификаты и обновил все профили подготовки, и он немедленно решил мои проблемы.

У меня недостаточно репутации, чтобы проголосовать за @Сайкиран, но это определенно помогло решить проблему.

Ответ 14

Я уже правильно установил пути поиска Runpath, но он все еще не работает. @Justin Domnitz ответ положил меня на правильный путь: настройка "Always Embed Swift Standard Libraries" на "Да" в настройках моей целевой сборки сделала для меня трюк.

Ответ 15

Для меня работала установка опции

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES

в YES в проекте → Настройки сборки → Параметры сборки

(Намириальный каркас через Cocoapods)

Ответ 16

Это сообщение об ошибке также может возникать при использовании сборки фреймворка в другой версии Swift, а затем той, которая используется в настоящее время, например. если вы обновите Xcode.

Ответ 17

Ни одно из вышеперечисленных решений не помогло мне. Я изменил настройки доверия сертификата разработчика iPhone в связке ключей. Это должно быть всегда доверие. Измените его на " Использовать системные настройки по умолчанию". Дважды щелкните сертификат в связке ключей, чтобы открыть экран параметров Обнаружено, что из этого блога

Ответ 18

У меня было такое же сообщение об ошибке, вот как я его решил: Это происходит потому, что я изменил идентификатор пакета, поэтому я просто положил старый идентификатор пакета и снова начал работать

Ответ 19

Кажется, эта проблема была вызвана включением файла Swift в пользовательскую структуру objective-c. Также не уверен, что связанный, но мой целевой объект был построен в objective-c. Также построим симулятор в отладке. Еще не подтвержден релиз или архив.
Кроме того, для параметров проекта Runpath Search для целевого объекта проекта были установлены "@executable_path/Frameworks", в целевых настройках для среды, для которой они были установлены: "@executable_path/Frameworks" и "@loader_path/Frameworks".

После того, как вы попытались перестроить пользовательскую структуру и снова подключиться к цели приложения, очистить папку с производными данными и пару других предложений, то, что в конечном итоге сработало для меня, было изменение настройки сборки в целевом проекте для проекта пользовательской инфраструктуры (не для приложения): "Всегда вставляйте Swift Standard Libraries" в "YES". Похоже, что не имеет значения, для чего была настроена настройка для приложения. Я проверил это, сбросив симулятор и восстановив его. Это похоже на ответ Даниэле Чеглиа, но я не смог добавить комментарий и хотел бы дать больше ясности.

Ответ 20

Для меня Очистка проекта решает проблему!

Ответ 21

У меня тоже такая проблема Все остальные способы не могли мне помочь, поэтому я сделал это глупо создал новый проект и установил pod с нуля и после подтверждения, что он работает правильно, я скопировал все файлы классов и файлы раскадровки, наконец-то! Я думаю, что это последний способ для него, возможно, может помочь вам.

Ответ 22

У меня была похожая проблема в проекте Objective-C, где я начал включать файлы Swift.

В моем случае я создал две цели в основном проекте и добавил пустой файл Swift, который создает файл заголовка моста и некоторые конфигурации, но я пометил его только как член одной цели. Первая цель работает правильно, а вторая - нет, и я заметил, что различия в настройках сборки были следующие:

Пути поиска пути выполнения → $(inherited) и @executable_path/Frameworks

И мне также нужно было сослаться на заголовок моста Objective-C на файл, который был создан ранее:

Заголовок моста Objective C → pathTo/Target-Bridging-Header.h

После добавления этих двух настроек вторая цель начала работать должным образом.

Ответ 23

Попробуйте очистить папку сборки, у меня возникла та же проблема, и я решил ее следующим образом: Product → Clean Build Folder

Ответ 24

Для запуска симулятора перезагрузки эта проблема решена.

Ответ 25

Я попробовал кучу описанных выше случаев, и это, похоже, не решило мою проблему. Я использую git и cocoapods для проекта, и ошибка исчезла, как только я сделал новую фиксацию.

Ответ 26

У меня была эта проблема раньше в iPod touch iOS 9.3. И я использовал все методы, упомянутые в этом сообщении , но никто из них не работал. Я проверил настройки своего проекта. И в другом флагом ссылки я обнаружил, что добавил -Wl,-sectcreate,__RESTRICT,__restrict,/dev/null.

Этот флаг предотвращает добавление dyld в телефон с джейлбрейком. Когда я удалю этот флаг, приложение можно запустить снова. Я не уверен, почему это сработало. Потому что в iPhone se iOS 10 мне не нужно удалять эту строку. Но он действительно работал в iPod touch iOS 9.3. Поэтому проверьте это, если у вас такая же ситуация, как и я.

Ответ 27

Пожалуйста, проверьте *.framework, если есть каталог структуры подписи _CodeSignature. Если папка _CodeSignature отсутствует, перейдите к этапам сборки, нажмите +, чтобы добавить этап создания нового файла копирования, чтобы создать файлы копирования. после этого сделайте ссылку на *.framework и выберите Code Sign On Copy.