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 / ... / Рамки / libswiftAVFoundation.dylib '

Я бачив цю помилку раніше, але в інших структурах, і не можу вирішити свою проблему. Чи є спосіб обійти це, додавши десь мій фреймворк?


Добре, після того, як виникла ця проблема кілька разів, це єдине, що працювало на мене. Не знаю , чому інші рішення не були, але я слідував інструкції тут: stackoverflow.com/a/32730393/3474814
coracora

6
У мене була ця проблема після переходу на новий mac. Причиною стало проміжне свідоцтво Apple WWDR.
Мортен Холмгаард


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

Відповіді:


191

Спробуйте зробити чисто, побудувати, а потім запустити проект. Працювали для мене.


2
Не працювало для мене для подібної проблеми із Swifty.json :(
Хетчмастер J

4
Працювали для мене. У мене виникла ця проблема з моменту анулювання сертифіката. Тепер все в порядку.
Адам Студеник

1
Дуже дякую за допомогу! Щойно я відновив свій сертифікат розробки iOS, і я зіткнувся з цією неприємною помилкою. Неймовірно, як помилки xcode НЕ інтуїтивно перевіряти ...
Gabcvit

1
Провівши кілька годин на тестування різних рішень у Xcode 10.2, жодне не вийшло. Але запустіть проект у Xcode 10.1, і він спрацював (Завжди вставляйте стандартні бібліотеки Swift до Так). Під час пошуку рішення я прочитав, що хтось каже, що проблема була в компіляторі Swift, можливо, в 10.2 є проблема.
Карлос Парада

54

У Xcode 8 оновлення налаштування збірки

Завжди вставляйте стандартні бібліотеки швидкого доступу до Так

працював на мене.


Я думаю, що це можлива правильна відповідь. Від документів Apple. "Якщо ви створюєте додаток, який не використовує Swift, але вбудовує вміст, такий як рамка, яка це робить, Xcode не включатиме ці бібліотеки у ваше додаток." Посилання: developer.apple.com/library/content/qa/qa1881/_index .html
Девід Петтігрю

1
Я намагаюся перетворити старий об'єктивний проект (частково) на швидкий. Налаштування "завжди вставляти швидкі стандартні бібліотеки" так, щоб виправити це для мене.
Даррелл Корінь

29

Жодне з перерахованих вище рішень не працювало для мене. Врешті-решт проблема була в налаштуваннях довіри мого сертифіката для підписання. Вони були встановлені на "Завжди довіряти", що, здавалося, викликало цю проблему. Повернення його назад "Використовувати системні параметри за замовчуванням" виправили це для мене.

У моєму випадку я спочатку змінив налаштування довіри certs, оскільки у мене виникли проблеми зі створенням віддалено. Мені вдалося виправити обидві проблеми, переключивши налаштування довіри на "Використовувати системні параметри за замовчуванням" у всьому світі та "Завжди дозволяти" для SSL.

Сподіваюся, що це комусь допоможе.


24

Коли відповідь, позначена правильною, не працювала для мене, я додав до "Налаштування збірки> Зв'язування> Шляхи пошуку маршруту" :

@executable_path/Frameworks

7

У мене виникла ця проблема, коли я намагався видалити профіль надання та сертифікат програми. Тоді всі мої швидкі проекти мають цю проблему. Через майже годину я виявив, що просто очистіть проект:

Клацніть на продукт -> Очистити (або CMD- Shift- K)

І проекти будуть працювати нормально.


6

Подібне запитання нижче, відповіді там можуть запропонувати певну допомогу. dyld: Бібліотека не завантажена: @ rpath / libswiftCore.dylib

Для мене єдине рішення, яке спрацювало, було так, як запропонував @ morten-holmgaard у своєму коментарі.

Я також намагався змінити прапор "Вбудований вміст містить код швидкого переходу" на істинний у налаштуваннях збірки, але це не мало ефекту.


2

Змінення налаштувань збірки -> "Вбудований вміст містить код швидкого переходу" на true / так працював для мене.


2

У рамках, яку я використовую на OSX (MailCore2), мені довелося встановити цілі

"Налаштування побудови> Зв'язок> Шляхи пошуку Runpath" до @loader_path

тут я знайшов рішення:

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


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

2

Я зіткнувся з цією проблемою з Xcode 9. Це зробило трюк для мене:

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


1
Натрапив на це в xcode 10, і він також працював! Чудова робота!
petrosmm

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.