Причина: не найдено подходящего изображения.

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib'
(lldb) 

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

введите описание изображения здесь

Это проблема с каркасом или проблема с подписью? Это не произошло в Xcode 6. Спасибо.

Ответ 1

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

Нажмите "Продукт" → "Очистить" (или CMD-Shift-K)

Или вручную очистив файлы настроек Xcode:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode

Я понятия не имею, почему. Удачи, если это поможет.

Ответ 2

Я долго искал эту проблему. Это вызывает несколько причин.

Если вы сталкиваетесь, когда вы и Swift-код/​​библиотека в проекте Objectice C вы должны попробовать Решение 1-2-3

Если вы столкнулись с этой проблемой с новым проектом Swift, решение 4 подойдет вам лучше всего.

Решение 1:

Перезапустите Xcode, затем компьютер и iPhone

Решение 2:

Перейдите к настройкам сборки проекта и установите Embedded Content Contains Swift флаг кода в YES

Решение 3:

Перейдите к настройкам сборки проекта и добавьте параметр @executable_path/Frameworks в Путь к траектории запуска

Решение 4:

Если ничего из этого не работает, это должно быть. Apple, похоже, является патч-сертификатами ниндзя, как указано в сообщении AirSign

В сертификатах InHouse

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR

они добавили новое поле с именем OU

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR

поэтому вам нужно просто обновить сертификат и предоставить

Ответ 3

Xcode->Product->Clean + Xcode Restart

После попытки многих других упомянутых решений, к моему вечному смущению, выполнению Xcode- > Product- > Clean и перезапуска Xcode, сделал трюк.

Ответ 4

Если вы случайно reset ваш брелок, это может произойти из-за отсутствия сертификатов Apple в цепочке ключей. Я выполнил ответ , чтобы решить мою проблему.

У меня была такая же проблема, и я смог ее исправить, повторно загрузив WWDR (Сертификационный центр Apple Worldwide Developer Relations). Загрузите здесь: http://developer.apple.com/certificationauthority/AppleWWDRCA.cer

Ответ 5

Для меня эта проблема возникла из-за того, что сертификат WWRD был обновлен, но по какой-то причине он был настроен на "всегда доверять" вместо "использовать системный дефолт", что, по-видимому, имеет значение.

Ответ 6

Удаление DerivedData сделало трюк для меня.

Произошло ли это через Xcode → Preferences → Locations → щелкнула стрелку по пути DerivedData и удалила всю папку DerivedData в Finder.

Ответ 7

Это произошло на моей стороне при создании приложения в командной строке с помощью xcodebuild и xcrun PackageApplication, подписав приложение с профилем предприятия. На наших серверах сборки CI сертификат был настроен на "Всегда доверять" в цепочке ключей (выберите сертификат → Получить информацию → Доверие → "Использовать системное значение по умолчанию" можно изменить на "Всегда доверять" ). Я должен был вернуть его в "Use System Default", чтобы сделать эту работу. Изначально мы устанавливали значение "Всегда доверять" , чтобы обмениваться диалоговыми окнами связки ключей, которые появляются после обновлений программного обеспечения и обновлений сертификатов.

Ответ 8

Если вы столкнулись с большим количеством путаницы, я столкнулся с этой проблемой при обновлении до XC8.

Ни одно из этих предложений, ни из любого другого потока, не решило его. Что работает DID, удаляло ВСЕ из фазы сборки "Связывание с библиотеками", фазы построения "Целевые зависимости" и "Общие настройки и библиотеки".

FYI, я использую Carthage и добавил $(PROJECT_DIR)/Carthage/Build/tvOS к настройке сборки FRAMEWORK_SEARCH_PATHS, чтобы можно было найти мои фреймворки.

FYI 2, эти проекты и фреймворки, на 100% быстрые, а рамки строят DEFINES_MODULE = YES.

Ответ 9

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

Для меня я изменил идентификатор пакета, так как у нас есть другой идентификатор пакета для распределения по сравнению с развитием.

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

Оказывается, мне нужно полностью полностью удалить старую версию приложения с моего телефона. И не просто удалять его стандартным способом.

Решение:

  • Убедитесь, что целевой телефон подключен.
  • из меню xcode нажмите [Window > Devices]
  • выберите целевое устройство в меню слева.
  • Справа будет список приложений на вашем устройстве. Найдите приложение, которое пытается проверить и удалить.

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

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

Ответ 10

Я только что очистил проект и Clean Build Folder по меню меню продукта

Ответ 11

у вас, вероятно, нет правильной арки в этой папке, вы можете сделать

file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib

и он должен показать вам арку, находящуюся в этой библиотеке... Я не уверен, как вы связываетесь, но это, вероятно, не самый правильный способ (если libswiftcore - это библиотека factory, если это некоторая добавить в библиотеку, то он, вероятно, не скомпилирован правильно)

Ответ 12

Цитируется из Технического Q & A QA1886:

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

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

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

Обычно эта ошибка появляется в журнале консоли устройства с сообщением, аналогичным одному из следующих:   Файл [....] [deny-mmap] не имеет идентификатора команды и не является бинарной платформой:   /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

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

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

Как ребята AirSign утверждают, что корни проблемы из недостающего атрибута OU в поле темы внутреннего документа.

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

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

Ответ 13

Ниже предприняты шаги.

1) В динамической библиотеке имя для установки должно было быть "@loader_path"

2) В основном проекте Путь поиска пути должен быть "@loader_path" и "@loader_path/Frameworks"

3) Из используемого вида keychain → показать истекшие сертификаты и удалить все.

4) Удалил сертификат распространения и переустановил.

5) Скачан файл developers.apple.com/certificationauthority/AppleWWDRCA.cer и установлен.

Ответ 14

Вы можете восстановить сертификат и перезагрузить свой iPhone.

Эта работа для меня, я надеюсь, что это поможет вам.

Ответ 15

  • Удалить приложение с устройства
  • Очистите проект ( CMD + SHift + K)
  • Создание/запуск на устройстве

Ответ 16

Я решаю проблему, проверяя мои локальные keychains.Keep login.keychain имеет правильный сертификат

Ответ 17

Недавно я столкнулся с этой проблемой. Я пробовал все возможные решения, но ничего не получилось. В конце я просто вышел из Xcode, удалил сертификаты в цепочке ключей и установил все свежие и перезапустил mac. К счастью, это сработало как шарм:)

Ответ 18

У меня была такая же проблема, и мне удалось исправить ее, перезагрузив WWDR (Apple Worldwide Developer Relations Certification Authority). Загрузить здесь:

и установите значение Всегда доверять в цепочке ключей. Переход на Use System Default

он работает для меня, я надеюсь, что это поможет вам

Ответ 19

В моем случае keychain показывает сертификат как ненадежный, для решения этой проблемы я установил параметры доверия сертификата как "Всегда доверять" . Установка сертификата на "Всегда доверять" была основной причиной сбоя. Я не смог установить приложение на устройство. Решил это, установив параметр доверия на "Системные значения по умолчанию" вместо "Всегда доверять" . Он работал у меня.

Ответ 20

Вы видите те же самые симптомы, если работаете в Xamarin Studio, и вы ссылаетесь на портативную библиотеку, для которой вам нужно использовать приманку PCL и трюк переключения. Это происходит, если проект ссылки устарел по отношению к указанной библиотеке. Я обнаружил, что обновил свою общую библиотеку до новой структуры, обновил свои пакеты, но не обновил мои пакеты iOS, чтобы соответствовать. Обновление пакетов решило эту ошибку для меня.

Ответ 22

В моем случае после удаления всей сертификации, созданной Xcode, и загрузки. Пусть xcode 8.1 управляет сертификацией приложения, он работает хорошо!!! Надеюсь, это поможет кому-то.

Ответ 23

Я столкнулся с этой проблемой ТОЛЬКО на симуляторе. Кажется, что это связано с некоторыми недействительными правами в нашем приложении, но проблема не возникает, когда мы запускаем на устройстве.

Ответ 24

Я решил использовать эти трюки.

Шаг 1:

Перейдите к настройкам построения проекта и добавьте опцию @executable_path/Frameworks в путь пути к запуску.

Шаг 2:

Перейдите к настройкам целевой сборки и добавьте опцию @executable_path/Frameworks в путь пути поиска пути и пути поиска в базе данных.

введите описание изображения здесь

Шаг 3:

Повторная загрузка WWDR (Apple Certification Authority, Worldwide Developer Relations Authority Authority), для параметра "Использовать стандартную систему" ​​как параметр.

Шаг 4:

Удалить все производные данные с помощью терминала

rm -rf ~/Library/Developer/Xcode/DerivedData/*

Шаг 5:

Удалите все сертификаты и переустановите их в Keychain. Я включил параметр Use System Default.

Шаг 6:

Перезапустить Xcode.

Ответ 25

столкнулся с той же проблемой

  • срок действия моего сертификата разработчика истек, поэтому был создан новый разработчик сертификат и скачать
  • очистить и перезапустить xcode, это работает для меня

Ответ 26

Я столкнулся с этой проблемой с XCode 9. Ничего из этого не вышло. Это сделало трюк для меня:

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

Ответ 27

Это разрешило мою ошибку -

Повторная загрузка WWDR (Apple Certification Authority, Worldwide Developer Relations Authority Authority), для параметра "Использовать стандартную систему" ​​как параметр.

Ответ 28

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