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

Я недавно обновился до Xcode 9 с 8.3.3.

Наш проект написан на Objective-C, как и все остальные фреймворки, которые мы используем. Я добавил фреймворк, который написан на Swift (версия 3.0). В Xcode 8 я могу без проблем собрать и запустить проект в симуляторе и на устройстве. В Xcode 9 я не могу запустить проект на симуляторе или устройстве из-за ошибки:

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: .../libraryname
Reason: image not found

После понижения я смог снова запустить проект.

Моя конфигурация имеет:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
STRIP_SWIFT_SYMBOLS = NO;
SWIFT_VERSION = 3.0;

Ответ 1

Просто убрать и построить решить эту проблему. Протестировано в Xcode 9.2 и Swift 4

Ответ 2

Структура Swift должна быть построена с той же версией Swift, что и ваш проект (в данном случае Swift 4 наследуется с момента обновления и выполняется через Xcode 9).

Восстановить и повторно добавить/заменить фреймворк новой версией, и он должен работать.

Ответ 3

Вы используете Карфаген и имеете несколько XCode_s на своей машине? Недавно у меня была проблема, когда я побежал carthage update --use-ssh --platform iOS, в то время как в командной строке был выбран xcode8.3.3. Затем включили встроенные фреймворки в сборку.

Для работы в XCode9 вам необходимо запустить команду switch sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer для вашего Xcode.app и снова запустить кассаж.

Надеюсь, что это поможет.

Ответ 4

Была та же проблема. Я использую Xcode 9.2, Swift 4, и мое устройство работает в iOS 11.1.

Решение:

Я удалил центр сертификации сертификатов Apple Worldwide в Keychain Access и заменил его новым (вы можете скачать

Ответ 5

Попробуйте перезапустить Xcode. Я попробовал все остальное, и это то, что остановило проблему.

Ответ 6

В основном это происходит, если для параметров доверия к сертификату установлено значение "Всегда доверять". Измените его на "System Defaults" и заново создайте сборку. Это должно решить проблему: https://egeek.me/2017/10/21/code-signing-blocked-mmap-on-ios-device/

Ответ 7

Я столкнулся с той же проблемой (в Xcode 9.4.1), но не смог решить ее ни с какой помощью. Я столкнулся с проблемой, когда Xcode продолжал предлагать мне использовать мою цепочку для ключей, но не мог завершить запрос - хотя я дал свой пароль. Приложение успешно собрано и установлено. Тем не менее, он упал при запуске на устройстве сразу.

Вот что решило мою проблему.

  • Удален мой сертификат и пара открытых/закрытых ключей
  • Создал новый сертификат (через CSR) и установил его на моем компьютере
  • Связал новый сертификат с профилем обеспечения и установил профиль на XCode
  • Очистил сборку и удалил существующую сборку на устройстве
  • Ура!!!

Надеюсь, это поможет тому, кто ищет по планете!

Ответ 8

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

Я попытался: - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES - LD_RUNPATH_SEARCH_PATHS = $ (унаследовано) @executetable_path/Frameworks

Неудачно. Оказалось, проблема была более простой. У моего проекта несколько целей сборки, и каким-то образом настройки для Host Application были сброшены. enter image description here