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

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

mikebertiean
источник
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 в Да

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

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

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

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

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

Десмонд
источник
24

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

@executable_path/Frameworks
ArtisanC
источник
7

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

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

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

nhoxbypass
источник
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)(рекурсивный)

ggs
источник
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.

Windel
источник