it-swarm.com.ru

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

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 такой

enter image description here

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

111
Satsuki

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

Нажмите на продукт -> Очистить (или 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

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

368
Jieyi Hu
Xcode->Product->Clean + Xcode Restart

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

26
Sean Vikoren

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

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

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

Решение 1:

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

Решение 2:

Перейдите в настройки сборки проекта и установите для Embedded Content Contains Swift Code flag значение YES

Решение 3:

Перейдите в настройки сборки проекта и добавьте @executable_path/Frameworks в опцию Runpath Search Paths.

Решение 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

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

25
user3432164

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

18
Warblr

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

У меня была та же проблема, и я смог ее исправить, заново загрузив WWDR (Apple Worldwide Certification Authority). Загрузите отсюда: http://developer.Apple.com/certificationauthority/AppleWWDRCA.cer

15
user1742302

Удаление DerivedData помогло мне.

Сделал это через Xcode -> Preferences -> Locations -> щелкнул стрелку за путем DerivedData и удалил всю папку DerivedData в Finder.

11
NBoymanns

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

5
Jagveer Singh
  1. Удалить приложение с устройства
  2. Очистить проект (CMD + SHift + K)
  3. Сборка/запуск на устройстве
2
Maxim Firsoff

Риск посева растерянности, у меня была эта проблема при обновлении до XC8.

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

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

К вашему сведению 2, эти проекты и фреймворки на 100% Swift, и фреймворки создают DEFINES_MODULE = YES.

2
daimler250v8

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

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

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

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

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

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

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

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

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

1
A.G

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

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

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

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

Решение :

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

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

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

1
Christopher Wade Cantley

Вы все еще можете получить эту проблему после попытки @Jieyi Hu Ответ. Возможно, это кажется исправленным, но если это произойдет снова (возможно, на xCode 9).

Однако этот обходной путь, кажется, работает (относится к Cocoapods 1.5.x):

  1. очистить свой проект
  2. закройте Xcode и удалите DerivedData
  3. откройте Podfile в своем проекте и добавьте это:

    post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end

  4. обновление стручка

Источники:

https://github.com/evgenyneu/Cosmos/issues/105

https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

Спасибо @ Седрик

1
Pranavan Sp

Ниже шаги успешно сработали.

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

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

3) Из брелка используется вид -> показать просроченные сертификаты и все удалено.

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

5) Скачал developer.Apple.com/certificationauthority/AppleWWDRCA.cer и установил.

1
blackspear

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

1
Edward Ashak

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

0
The Senator

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

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

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

0
voidxin

Для чего это стоит, я столкнулся с аналогичной ошибкой в ​​XCode 9.0.1. Я попытался удалить и переустановить все мои сертификаты, но когда я переустанавливал, они, казалось, запомнили настройку доверия, которую я имел ранее. То, что в итоге сработало для меня (кажется), отключило настройку "Всегда доверять" сертификата "Apple Worldwide Developer Relations Certification Authority" с последующей перезагрузкой. Что за загадочная проблема!

0
Duna

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

0
bkbeachlabs

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

0
shujucn

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

  1. срок действия моего сертификата разработчика истек, поэтому создали новый сертификат разработчика и загрузите
  2. очистить и перезапустить XCode это работает для меня
0
Midhun Narayan

Вам необходимо установить сертификат (только сертификат и не предоставляя профиль) для каждой динамической структуры, которую вы связываете (прямо или косвенно) в вашем проекте enter image description here

0
Mayur Kothawade

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

0
Roshni

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

0
STOP

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

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

0
ggs

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

Шаг 1:

Перейдите в настройки сборки проекта и добавьте параметр @ executetable_path/Frameworks в Runpath Search Paths.

Шаг 2:

Перейдите к настройкам целевой сборки и добавьте параметр @ executetable_path/Frameworks в Пути поиска Runpath и Пути поиска платформы.

enter image description here

Шаг 3:

Повторно загрузите WWDR (Apple Worldwide Certification Authority), выберите опцию "Использовать системные настройки по умолчанию".

Шаг 4:

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

rm -rf ~/Библиотека/Разработчик/Xcode/DerivedData/*

Шаг 5 :

Удалите все сертификаты и переустановите его в связку ключей. Я включил опцию Использовать систему по умолчанию.

Шаг 6:

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

0
A.G

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

У меня есть похожая проблема, в которой подробная информация, как первое изображение.

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

0
Lidia Han

Я решаю проблему, проверив мои локальные цепочки для ключей. Держите login.keychain имеет правильный сертификат

0
Bill Xie

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

0
radthemad4

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

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

0
Joffrey Outtier

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

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

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

0
Grady Player

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

Повторно загрузите WWDR (Apple Worldwide Certification Authority), выберите опцию "Использовать системные настройки по умолчанию".

0
DRP