it-swarm.com.ru

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

Я пытаюсь запустить приложение Swift на своем iPhone 4s. Он отлично работает на симуляторе, и мой друг может успешно запустить его на своем iPhone 4s. У меня iOS 8 и официальный релиз Xcode 6.

Я пытался 

  • Перезапуск Xcode, iPhone, компьютера 
  • Очистка и восстановление 
  • Отзыв и создание нового сертификата/профиля предоставления 
  • Пути поиска пути выполнения $(inherited) @executable_path/Frameworks
  • Встроенный контент содержит код Swift «Да» 
  • Code Signing Identity является разработчиком

Ниже приведена ошибка в целом 

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib
354
user3751185

Для меня ни одно из предыдущих решений не сработало. Мы обнаружили, что в настройках сборки есть флаг «Всегда встраивать Swift Стандартные библиотеки», который должен быть установлен в YES. Это было НЕТ по умолчанию!

Build Settings > Always Embed Swift Standard Libraries

После установки, очистите проект, прежде чем строить снова.

Для увлеченных читателей некоторые объяснения Самая важная часть:

установите для параметра встроенного содержимого, содержащего код Swift (EMBEDDED_CONTENT_CONTAINS_Swift) значение YES в вашем приложении, как показано на рисунке 2. Этот параметр сборки, который указывает, содержит ли целевой продукт встроенный контент с кодом Swift, сообщает Xcode о внедрении стандартных библиотек Swift в ваше приложение. когда установлено ДА.

enter image description here

Флаг ранее назывался Embedded Content Contains Swift Code

511
TALAA

Удивительно, но все, что я сделал, было "Очистить" мой проект (shift + cmd + K), и это сработало. Похоже, похоже, связано с сертификатом.

122
royherma

Я начал получать эту ошибку, когда я удалил:

@executable_path/Frameworks

из Runpath Search Paths в моих настройках сборки. Замена этого исправила все снова (слава богу за контроль источника!)

Я не знаю, как он туда попал, но, похоже, он необходим для двоичного файла, чтобы найти встроенную среду выполнения Swift.

93
jemmons

Для устройства также необходимо добавить динамический каркас в раздел Embedded binaries на вкладке General проекта.
enter image description here

59
Mustafa

В Xcode 8 опция для Embedded Content Contains Swift Code больше не доступна.

Он был переименован в "Always Embed Swift Standard Libraries = YES"

 enter image description here

52
Bonnie

Я думаю, что это ошибка, когда сертификаты генерируются непосредственно из XCode. Чтобы решить (по крайней мере, в Xcode 6.1/6A1052d):

  1. перейдите на веб-сайт Apple Developer, где управление сертификатами: https://developer.Apple.com/account/ios/certificate/certificateList.action
  2. выберите свой сертификат (ы) (который должен показать "Управляемый XCode" под "Статусом") и "Отменить" его
  3. следуйте инструкциям здесь, чтобы вручную создать новый сертификат: https://developer.Apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainedCertificates/MaintainedCertificates.html#//Apple_ref/doc/uid/TP40012582- CH31-SW32
  4. перейдите к Xcode> Предпочтения> Учетные записи> [ваш Apple ID]> дважды щелкните по имени вашей команды> нажмите кнопку обновления, чтобы обновить сертификаты и профили обеспечения
27
Vijay Sundaram

ОК, поделитесь здесь еще одной причиной этой ошибки. Мне понадобилось несколько часов, чтобы разобраться с этим.

В моем случае политика доверия моего сертификата в Keychain Access была Всегда доверять , изменение ее значения по умолчанию решило проблему.

Чтобы открыть окно настроек сертификата, дважды щелкните сертификат в списке сертификатов Keychain Access.

enter image description hereenter image description here

25
NAlexN

У меня была проблема с запуском моих тестов Swift (но не моего приложения). Оказывается, что тест должен был иметь больше, чем @executable_path/Frameworks в настройке сборки Runpath Search Paths для цели теста. Установка путей поиска Runpath на следующий радовала меня: 

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks
20
DonnaLea

Вы должны установить для Runpath Search Paths значение @executable_path/Frameworks, как показано на следующем снимке экрана параметров сборки:

 enter image description here

Если у вас есть какие-либо встроенные фреймворки, созданные в Swift, вы можете установить YES в параметрах сборки Embedded Content Contains Swift Code.

16
loretoparisi

Я думаю, что Apple уже суммировала это под приложение Swift аварийно завершает работу при попытке ссылки на библиотеку Swift libswiftCore.dylib

Цитируется из Технические вопросы и ответы QA1886:

Приложение Swift аварийно завершает работу при попытке обратиться к библиотеке Swift libswiftCore.dylib.

Q: Что я могу сделать с ошибкой загрузки libswiftCore.dylib в моем консоль устройства, которая появляется, когда я пытаюсь запустить свое приложение на языке Swift?

A: Чтобы исправить эту проблему, вам нужно будет подписать свое приложение, используя код подписание сертификатов с установленной организационной единицей (OU) идентификатор вашей команды. Все корпоративные и стандартные сертификаты разработчика iOS созданные после выхода iOS 8, имеют новое поле Team ID в нужном месте, чтобы позволить языковым приложениям Swift работать.

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

[....] [deny-mmap] mapped file has no team identifier and is not a platform binary:
/private/var/mobile/Containers/Bundle/Application/5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib

Dyld Error Message:
  Library not loaded: @rpath/libswiftCore.dylib

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0

Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5

Новые сертификаты необходимы при создании архива и упаковке ваше приложение. Даже если у вас есть один из новых сертификатов, просто подать в отставку существующий архив приложений Swift не будет работать. Если он был построен с До получения сертификата iOS 8 вам нужно будет создать еще один архив.

Важно: Пожалуйста, будьте осторожны, если вам нужно отозвать и настроить новый Сертификат распространения предприятия. Если вы являетесь внутренним предприятием Разработчик, вы должны быть осторожны, чтобы не отозвать Сертификат распространения, который был использован для подписи приложения любого из ваших Сотрудники предприятия по-прежнему используют все приложения, подписанные с помощью этот сертификат распространения предприятия перестанет работать немедленно. Вышеуказанное относится только к корпоративному распространению .__ сертификаты. Сертификаты разработки безопасно отозвать для корпоративные/стандартные разработчики iOS.

Как говорят парни из AirSign state , проблема связана с отсутствующим атрибутом OU в поле subject сертификата In-House.

Тема: UID = 269J2W3P2L, CN = iPhone Распространение: Название компании, OU = 269J2W3P2L, O = Название компании, C = FR

У меня есть сертификат развития предприятия, создание нового решило проблему.

16
flatronka

Давайте проект P импортирует пользовательскую библиотеку L, тогда вы должны добавить L в 

P -> Build Phases -> Embed Frameworks -> +. Это подходит для меня.

 enter image description here

10
Sazzad Hissain Khan

У меня возникла та же проблема после перехода на новый Mac, и после нескольких часов, пытаясь ответить на все предложенные вопросы, у меня ничего не получалось.

Решением для меня было установить этот недостающий сертификат . http://developer.Apple.com/certificationauthority/AppleWWDRCA.cer

Нашел ответ здесь . https://stackoverflow.com/a/14495100/976628

7
Bruno Coelho

Я решил удалить производные данные, и на этот раз он работал правильно. Пробовал с Xcode 7.3.1GM

6
WhiteTiger

Изменить Копировать ресурсы стручков для цели из:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-resources.sh"

чтобы:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-frameworks.sh"
6
Bartłomiej Semańczyk

Эта проблема возникает снова в Xcode 10.2 . Вы должны загрузить и установить следующий пакет от Apple. Он обеспечивает Swift 5 Поддержка времени выполнения для инструментов командной строки .

https://support.Apple.com/kb/DL1998?locale=en_US

5
Jim Bray

Испытав все, я наконец-то обнаружил, что сборка, кажется, не всегда включает в себя каждую деталь снова и снова. Может быть, для ускорения процесса ... Для того, чтобы убедиться, что перед запуском на устройстве должна быть ВЕСЬ упаковка, сначала выполните Clean: Shift-Cmd-K . Затем соберите с помощью: Cmd-B . После который запускает его на вашем устройстве . Легко . С уважением ко всем вам, приятные ребята в этом месте!

5
Daniel

Для меня, попробовав все безуспешно, мне удалось удалить @executable_path/Frameworks из Packaging section (во-первых, не знаю, как это произошло)

 enter image description here

4
abinop

В моем случае это было просто название моей цели: 

Я переименовал его так: MyApp.something и появилась та же проблема . Но я увидел в окне настроек сборки, имя моего модуля продукта было изменено следующим образом MyApp-что-то ..__ Итак, я удалил точку в своем имени цели ( MyAppSomething ), и проблема исчезла.

4
Patrice From 8Beats

Ни одно из решений не сработало для меня. Перезагрузка телефона исправила это. Странно, но это сработало. 

4
newDeveloper

ни одно из этих решений, похоже, не сработало, но когда я изменил разрешение всемирного сертификата разработчика на Use System defaults, это сработало. Я включил шаги и скриншоты в ссылку ниже 

Я бы посоветовал вам зарегистрировать тикет в отчете об ошибках Apple, как упомянуто здесь, поскольку Apple действительно должна решить эту серьезную ошибку: https://stackoverflow.com/a/41401354/559760

3
Mobile Bloke

Xcode 7.2, iOS 9.2 на одном устройстве, 9.0 на другом. У обоих была ошибка. Понятия не имею, что изменилось, что вызвало это, но решения выше для WWDR были правильными для меня. Установите этот сертификат и проблема решена.

https://forums.developer.Apple.com/message/43547https://forums.developer.Apple.com/message/84846

2
HG123

Там много ответов, но, возможно, мой ответ кому-нибудь поможет. 

У меня та же проблема, мое приложение работает нормально на симуляторе, но на устройстве произошел сбой, когда я запускаю приложение и выдает ошибку, как указано выше. Я перепробовал все ответы и решения. В моем случае, у моего проекта несколько целей. Я создал дубликат цели B из цели A. Цель B работает нормально, в то время как цель A потерпела крах. Я использую различные активы изображения для каждой цели. После поиска и поиска в Google я нашел кое-что, что может кому-то помочь. 

Приложение перестает падать, когда я изменяю имя Активов запуска изображений для обоих приложений. например, Target A Launch Image имя актива LaunchImage A. Цель B Имя объекта Lunch Image LaunchImage B и назначается правильно на вкладке «Общие» каждой цели. Мои приложения работают нормально.

2
VDPATEL

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

В этом случае перестройка фреймворка и его повторное добавление решит проблему.

2
Paul Popiel

Самый простой и легкий способ игнорировать: очистить и восстановить.

Это решило проблему после того, как попробовал ответы выше и не сработало.

2
Michael Yang

У меня установлено несколько версий Xcode одновременно. Фреймворк был построен с более новой версией Xcode. Приложение, которое я пытался скомпилировать, было с более старой версией Xcode. Когда я очистил и скомпилировал фреймворк и приложение с одной и той же версией Xcode, все заработало.

1
neoneye

Я использую Xcode 8.3.3 и Xcode 9.2. Решением для меня было переключить мой Xcode по умолчанию с 8 на 9, используя Xcode Select:

$ xcode-select --print-path

$ Sudo xcode-select -switch /Applications/Xcode-9.2.app

Правка: На самом деле, что, казалось, здесь помогло то, что Xcode 9.2 использовал полученные данные из Xcode 8.3.3. Не решение, но, по крайней мере, оно позволяет мне двигаться вперед с моей работой.

1
Matt Bearson

Я использую Xcode 7.2. Если вы попробовали все вышеперечисленное и ошибка все еще возникает, попробуйте удалить старый сертификат из Keychain Access! Это такая боль, чтобы наконец это исправить.

0
Maggie

Я начал получать подобную ошибку при тестировании добавления файла S3 с помощью сервисов AWS. Ниже приведена ошибка .dyld: библиотека не загружена: @ rpath/AWSAutoScaling.framework/AWSAutoScaling

Я искал много и выше решения также не помогают мне. Ниже ссылка помогла мне решить эту проблему.

https://forums.developer.Apple.com/thread/21292

Что говорит, чтобы решить эту проблему, повторно загрузив WWDR (Apple Worldwide Certification Authority) .

0
chanduthedev

Короче говоря, вы пытались установить флажок «Enable Bitcode = NO». Меня устраивает. 

В моем случае мой проект был написан на Object-C и включает одну стороннюю платформу, написанную на Swift. Я могу запустить свое приложение на симуляторе и реальном устройстве в режиме разработчика. Однако, как только я получил APP с профилем предоставления Ad-hoc и установил этот ipa OTA на реальном устройстве, он вышел из строя. Не говоря уже о загрузке в магазин. Надеюсь, что эта информация может помочь.

0
Tsung-Yi Tsai

Для меня создание приложения Swift для MacOS из командной строки, которое зависело от сторонних библиотек Swift (например, SQLite), похоже, ни одно из перечисленных выше решений не сработало. Что работало, так это непосредственное добавление следующего пути к моим путям поиска Runpath в настройках сборки:

/Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/macosx/

Это дало предупреждение во время выполнения, в котором говорилось, что Xcode нашел 2 версии libswiftCore, что имеет смысл. За исключением того, что исключение этой строки привело к тому, что Xcode не обнаружил ни одной версии libswiftCore.

В любом случае, для меня это подойдет, даже если это не так - мое приложение - это просто утилита, которую я не собираюсь распространять, и, по крайней мере, оно работает сейчас!

0
millionyearsold

Чтобы добавить решение для корпоративного сертификата распределения: вы можете открыть брелок и проверить сертификат. Если есть какой-то красный текст, говорящий о том, что цепочка доверия не может быть проверена или ее аннулируют, она НЕ РАБОТАЕТ! На моем компьютере наш сертификат распространения показывался как отозванный, хотя веб-портал показал, что он все еще действителен. Мы получили новый сертификат распространения, который был зеленым (действительным) в связке ключей, и это решило проблему.

0
r590

Я нахожусь на Xcode 8.3.2. Для меня проблема заключалась в том, что сертификат AppleWWDRCA находился в цепочке ключей системы и входа в систему. Удалены оба, а затем добавлены просто брелок для входа, теперь он снова работает нормально. 2 дня потеряли ????

0
Max

Когда Xcode просит вас сбросить сертификаты, вы сбросьте it. И приложение может быть запущено на реальном устройстве без сбоев с этими сообщениями об ошибках. Однажды эта проблема была решена в одном проекте Swift. Другие проекты Swift с этой проблемой также исправлены. 

Я боролся за это около полдня и обнаружил, что сброс сертификатов снова и снова в портале инициализации не помогает. 

0
oOEric

Из сообщения https://github.com/CocoaPods/cocoapods-integration-specs/pull/24/files , это означает, что Swift.dylib нужно подписать, но не удалось. Мне не удалось даже создать новый проект Swift с поддержкой cocoapod. 

0
BollMose

У меня та же проблема, и проблема такая:

dyld: Library not loaded: @rpath/Result.framework/Result Referenced from: /private/var/mobile/Containers/Bundle/Application/74AD1FE2-7095-47D2-B059-520863050EE2/ReactiveCocoaTest.app/Frameworks/ReactiveCocoa.framework/ReactiveCocoa Reason: image not found

Мое решение ниже:

В TARGET -> Build Setting -> Other Linker Flag -> удалите структуру ReactiveCocoa. Если это xxx.framework, вы должны удалить xxx.

удалить ReactiveCocoa

 delete the ReactiveCocoa

0
aircraft

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

 enter image description here

0
skr1p7k1dd

В моем случае,

Я установил @executable_path/Frameworks

Но я должен также установить «Рамки поиска путей»

$(PROJECT_DIR)/Frameworks

изменить как recursive

Который работает для меня.

0
Max

Если у вашего проекта есть Cocoapods и другие схемы, попробуйте запустить обновление pod, которое исправило это для меня.

0
gmogames

Для меня решение здесь ниже Отключите «Вставить пакеты активов в комплект продуктов», и эта проблема исчезнет

 enter image description here

0
ashish.surana

Вышеуказанные решения не работают для меня. Я исправляю проблему, выполнив следующие действия:

  1. Мне пришлось перейти к телефону («Настройки»> «Профиль») и удалить профили , Которые были в телефоне (включая все приложения, связанные с этим профилем/положениями ).
  2. После этого убедитесь, что вы загружаете положения Apple в xcode. Перейдите в настройки xcode> И войдите в свою учетную запись разработчика Apple.
0
LuAndre