dyld: библиотека не загружена: @ rpath / libswiftAVFoundation.dylib


106

Я только что обновился до Xcode 7 и Swift 2 и закончил исправлять ошибки, возникающие при переходе. Наконец-то я получил проект для сборки, но после экрана запуска я получаю сообщение об ошибке:

dyld: Библиотека не загружена: @ rpath / libswiftAVFoundation.dylib Ссылка из: / var / mobile / Containers / Bundle / Application / ...
Причина: не найдено подходящего изображения. Нашел: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1, проверяя первую страницу '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

Я видел эту ошибку раньше, но с другими фреймворками, и не могу решить свою проблему. Есть ли способ обойти это, добавив где-нибудь мою структуру?


Хорошо, после того, как эта проблема возникла несколько раз, это единственное, что у меня сработало. Не уверен, почему другие решения этого не сделали, но я выполнил инструкции здесь: stackoverflow.com/a/32730393/3474814
coracora

6
У меня возникла эта проблема после перехода на новый Mac. Причина заключалась в отсутствии промежуточного сертификата Apple WWDR.
Мортен Холмгаард,


Просто очистите проект и запустите снова
onmyway133 06

Ответы:


191

Попробуйте очистить, собрать и затем запустить проект. Работал у меня.


2
У меня не получилось, из-за аналогичной проблемы со Swifty.json :(
Hatchmaster J

4
Работал у меня. У меня была эта проблема, так как мой сертификат был отозван. Сейчас все в порядке.
Адам Студеник,

1
Большое спасибо за помощь! Я только что обновил свой сертификат разработки iOS и столкнулся с этой неприятной ошибкой. Невероятно, как ошибки xcode НЕ интуитивно понятны для проверки ...
Gabcvit

1
Потратив несколько часов на пробу различных решений в Xcode 10.2, ни одно из них не помогло. Но запустите проект в Xcode 10.1, и он сработал (всегда вставляйте стандартные библиотеки Swift на «Да»). В поисках решения я прочитал, что кто-то сказал, что проблема в компиляторе Swift, возможно, в 10.2 есть проблема.
Карлос Парада,

54

В Xcode 8 обновление настройки сборки

Всегда встраивайте стандартные библиотеки Swift в Да

работал у меня.


Думаю, это возможный правильный ответ. Из документации Apple. «Если вы создаете приложение, которое не использует Swift, но встраивает контент, например фреймворк, который использует, Xcode не будет включать эти библиотеки в ваше приложение». Ссылка: developer.apple.com/library/content/qa/qa1881/_index .html
Дэвид Петтигрю

1
Я пытаюсь преобразовать старый проект Objective-C (частично) в быстрый. Установка «всегда вставлять быстрые стандартные библиотеки» на «да» исправила это для меня.
Даррелл Рут

29

Ни одно из вышеперечисленных решений не помогло мне. В конце концов, проблема заключалась в настройках доверия моего сертификата подписи. Они были установлены на «Всегда доверять», что, казалось, вызывало эту проблему. Переключение его обратно "Использовать системные настройки по умолчанию" исправило это для меня.

В моем случае я изначально изменил настройки доверия сертификатов, потому что у меня были проблемы с удаленной сборкой. Мне удалось исправить обе проблемы, переключив настройки доверия на «Использовать системные значения по умолчанию» глобально и «Всегда разрешать» для SSL.

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


24

Когда ответ, помеченный как правильный, у меня не сработал, я добавил следующее в «Настройки сборки> Связывание> Пути поиска пути» :

@executable_path/Frameworks

7

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

Щелкните Продукт -> Очистить (или CMD- Shift- K)

И проекты будут работать нормально.


6

Аналогичный вопрос ниже, ответы там могут предложить некоторую помощь. dyld: библиотека не загружена: @ rpath / libswiftCore.dylib

Для меня единственное решение, которое сработало, было предложением @ morten-holmgaard в своем комментарии.

Я также пытался изменить флаг «Embedded Content Contains Swift Code» на true в настройках сборки, но это не помогло.


2

Изменение настроек сборки -> флаг «Встроенный контент содержит код Swift» на true / yes сработало для меня.


2

Для фреймворка, который я использую в OSX (MailCore2), мне пришлось установить целевые

"Настройки сборки> Связывание> Пути поиска пути выполнения" к @loader_path

решение, которое я нашел здесь:

http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/


Статья оказалась полезной, спасибо! Ни одно из других решений здесь не помогло мне, но я наконец смог заставить его работать, добавив @rpathв Runpath Search Pathsнастройку компоновщика.
catchinflux

2

Я столкнулся с этой проблемой с Xcode 9. Это помогло мне:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"к $(PROJECT_DIR)(рекурсивный)


1
Загляните в это в xcode 10, и это тоже сработало! Прекрасная работа!
petrosmm 08

1

Для этого есть два решения:

Решение 1:

  1. Quit Xcode( cmd+ Q)
  2. Открыть и Clean Project ( cmd+ shift+ k)
  3. Теперь запустите проект, который должен работать правильно

Решение 2:

В самом журнале консоли указано, что редактор динамических ссылок (dyld) не может загрузить библиотеку. Чтобы исправить это, используйте следующие шаги:

  1. Выбрать Project-> Build settings->
  2. Перейдите на Build optionsвкладку -> выберите " Always Embed Swift Standard Libraries’в Yes"
  3. Теперь запустите проект, который должен работать правильно

Скриншот с шагами


0

Это может быть проблема с сертификатами. Перейдите в центр участников Apple для разработчиков и убедитесь, что в вашем профиле распространения указано «Организационная единица» .

Также посмотрите в журналах текст deny-mmap , это, вероятно, поможет вам в дальнейшем.

Я столкнулся с этой проблемой с приложением Xamarin для Apple Watch. Основное приложение и фреймворк Mono были подписаны и работали, но расширение Watchkit не загружалось из-за ошибки dyld.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.