Я получаю эту ошибку после добавления класса Swift к старому проекту Xcode.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
Как я могу снова запустить проект?
Я получаю эту ошибку после добавления класса Swift к старому проекту Xcode.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
Как я могу снова запустить проект?
Для меня ни один из предыдущих решений не работал. Мы обнаружили, что есть флаг ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
(в более ранних версиях: "Встроенный контент содержит Swift Code" ) в настройках сборки, которые должны быть установлены в YES. По умолчанию это было НЕТ!
Эта ошибка может возникнуть, если что-то пошло не так во время преобразования проекта Objective-C, чтобы начать использовать Swift. Проблема в том, что настройки компоновщика Linker никогда не были правильно настроены, поэтому вам придется делать это вручную. Найдите настройки сборки Path Path Search Path и установите для этого значение:
$(inherited) @executable_path/Frameworks
РЕДАКТИРОВАТЬ: Я также хотел бы добавить, что недавние волны этих ошибок были вызваны чем-то другим - Apple внесла изменения в сам Swift, начиная, возможно, с Xcode 6.1 или 6.1.1. Единственное решение, похоже, заключается в том, чтобы выйти из Xcode, уничтожить ваши сертификаты в Keychain Access, перейти в Центр участников и удалить все сертификаты и профили (кроме профилей для приложений в Магазине - их нельзя удалить), а затем запустить весь процесс запроса сертификата с нуля.
Я не совсем уверен, почему этот вопрос игнорируется, у меня тоже была эта проблема, когда я сначала попытался использовать Swift с существующим проектом. Перезагрузка Xcode также исправила это для меня.
Я долго искал по этому вопросу. Есть несколько причин, вызывающих эту проблему.
Если вы сталкиваетесь с тем, когда вы и Swift-код/библиотека в проекте Objectice C, вам следует попробовать Решение 1-2-3
Если вы столкнулись с этой проблемой с новым проектом Swift, Solution 4 подойдет вам лучше всего.
Перезагрузите Xcode, затем компьютер и iPhone
Перейдите к настройкам сборки проекта и установите для флага " Always Embed Swift Standard Libraries
Embedded Content Contains Swift Code
Always Embed Swift Standard Libraries
(ранее Embedded Content Contains Swift Code
) значение " YES
Перейдите в настройки сборки проекта и добавьте параметр @executable_path/Frameworks
Runpath Search Paths
@executable_path/Frameworks
в Runpath Search Paths
Если ничего из вышеперечисленного не работает, это должно. 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
поэтому вы должны просто восстановить сертификат и предоставление
В моем случае я пытался импортировать пользовательскую фреймворк и получал аналогичную ошибку. Оказывается, мне пришлось импортировать структуру во встроенные двоичные файлы, а не в связанные структуры и библиотеки.
Встроенные двоичные файлы находятся в разделе "Настройки проекта" → - > Общие
Для разработчиков, у которых была эта проблема с сборками Adhoc/Enterprise,
Создайте производственный сертификат с портала dev, а затем восстановите профиль распространения. Загрузите и установите их на свой Mac. Убедитесь, что вы выбрали правильный профиль в настройках сборки Xcode и пересоздаете приложение.
Источник: https://devforums.apple.com/message/1022908#1022908
Решение 5:
В моем случае все решения, упомянутые в ответе accfews, были очень полезны, но никто не работал. Я решил проблему, добавив свою быструю библиотеку в раздел "Встроенные двоичные файлы" в разделе "Общие" моей целевой задачи. Возможно, это связано с тем, что я включил свои быстрые рамки в свое рабочее пространство? Что бы он ни компилировал сейчас! Приготовься Свифт, я здесь!
Простой перезапуск Xcode решил проблему для меня.
Для меня проблема была связана с тем, что мой Центр сертификации отношений с разработчиками Apple Worldwide недействителен.
Загрузите его отсюда: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer.
Перетащите его в Keychain Access, очистите проект и запустите.
Я пробовал все ответы, приведенные выше, ничего не работало.
Наконец-то работал после обновления до Yosemite
У меня был проект Obj-C, где я начал добавлять быстрые исходные файлы. Следующее исправлено для меня:
RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
EMBEDDED CONTENT CONTAINS SWIFT = YES
Я только что создал новый проект из шаблонов Xcode 6.3 и сравнил настройки проекта с моим старым оригинальным проектом.
Попробуйте провести Alt, затем перейдите в Product → Clean Build Folder...
Надеюсь, это поможет кому-то.
Причины этого происходят много. Просто проведя забавный уик-энд, обнаружив еще одну проблему, которая вызывает это (порядок подписания кода), я хотел создать сводный ответ, который объединяет все возможные решения:
DerivedData
и Build
. Посмотрите в разделе "Настройки" для местоположения DerivedData
. Build
должен находиться в папке проекта.@executable_path/Frameworks
.Это легкий материал. Если вы создаете собственную сборку командной строки, вы можете создавать свои собственные файлы .ipa
для загрузки. В этом случае вам необходимо обеспечить следующее:
SwiftSupport/iphoneos
совпадает с версией в Contents/YourApp.app/Frameworks
. Поскольку Swift еще не совместим с бинарной версией, вы должны убедиться, что эти версии с которым вы создали свое приложение. Вы можете найти эти библиотеки под /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
.codesign
библиотеки и файлы фреймворка (в Frameworks
в папке .app
), а затем подписать полное дерево .app
. Дерево .app
должно быть подписано с помощью entitlements.plist
, но не с фреймворками.Надеюсь, когда появится Swift 3.0, и нам больше не нужно связывать Swift с нашими приложениями, все это проблема исчезнет.
У меня возникла эта проблема с использованием мобильного решения Ad (hoc) или производственного сертификата. Переход к сертификату разработки и мобильному обеспечению решил проблему.
Мой проект - это проект Swift с некоторыми классами Objective-C. У меня была та же проблема, когда был подписан старый сертификат inHouse (enterprise).
Следующие шаги исправили это для меня.
Runpath Search Paths
для сборки: $(inherited) @executable_path/Frameworks
. Решение 6:
В нашем случае сертификат Enterprise Distribution был отозван. Создание нового сертификата и обновление профиля подготовки исправили проблему.
(Кажется, существует много разных причин этой ошибки. Надеюсь, это поможет кому-то.)
Я столкнулся с той же проблемой, установив правильный идентификатор значка кода, решив проблему (параметры сборки → Идентификация подписи кода).
В соответствии с технический вопрос Apple "Все сертификаты разработчика и стандартные сертификаты iOS, созданные после выхода iOS 8, имеют новое поле Team ID в правильное место для запуска языковых приложений Swift"
Если вы добавите три фреймворка через Embedded Binaries, они будут добавлены в Linked Frameworks и Libraries. Удалите три записи в Связанные структуры и библиотеки, чтобы решить проблему.
Магические методы, такие как перезапуск Xcode и перезагрузка Mac, не работают на меня.
Добавление Framework как "встроенного двоичного" вместо "Linked Frameworks and Libraries" - Исправлена проблема.
Я также устанавливаю встроенный контент. Содержит флаг Swift Code для YES.
Обновление до последней версии OS X (Yosemite)
После нескольких часов проб и ошибок я пришел к решению этой проблемы. - Если это относится к вашему делу, конечно.
У меня была такая же проблема, пока я не обновил свою Mac OS X от Mavericks до Yosemite. - Он исправил мою проблему, надеюсь, что она исправит вашу проблему.
Я пробовал все решения, найденные в Интернете, в том числе Apple и новые сертификаты. Без успеха.
Единственный способ, которым я мог запускать xcode, после 6 месяцев попытки создать новую учетную запись на моем macbook.
Обычно эта ошибка исчезает, если вы добавляете эту библиотеку в сегмент "Копировать файлы" на фазах сборки.
И если все вышеперечисленное не поможет вам, и вы действительно расстроены... Попробуйте лучший трюк: Clean
и просто убедитесь, что Clean Build Folder
.:) Надеюсь, это поможет кому-то!
Ни одно из этих решений, казалось, постоянно работало для меня; после каждой пары успешных запусков он снова потерпит неудачу. Флаг "Встроенный контент со скрытым кодом" всегда был для меня "YES".
Оказывается, я установил бы Xcode 6.3-совместимым. Сменив его на 3.2-совместимую, он решил:
У меня была и эта проблема, только она не находила libswiftXCTest.dylib
.
Решение заключалось в том, чтобы добавить XCTest.framework
в цель тестирования, в Build Phases/Link Binary with Library
. Я получал эту ошибку, даже когда пытался создать основную цель.
Это проявилось, когда я добавил новый объект назначения Today с языком Swift в старый проект. Исправлено легко, обновив проект до рекомендуемых параметров. Xcode 6.0.1
У меня возникла такая же проблема с использованием Mavericks, Xcode 6.1.1, тестирование на iPhone5 с помощью iOS 8.1.1. Я пробовал все возможные решения, включая новые сертификаты и профили подготовки, но ничего не помогло. Я внес изменения в Embedded Content Contains Swift Code
и Runpath Search Paths
как на уровне проекта, так и на уровне цели.
Теперь я установил Yosemite, и без каких-либо дальнейших изменений он начал работать.
В этом же выпуске, для меня это были Crashlytics/Fabric/Beta/Twitter/Whatever-they-call-yourself, загружающие двоичный файл, в котором отсутствовали встроенные фреймворки. Если я сделал архив, а затем экспортировал сборку Enterprise стандартным образом, они сработали шармом.
Моя среда: Cocos2d 2.0, Box2d, Objective C
В дополнение к выполнению других ответов выше я, наконец, перешел на вкладку "Общие" и сделал WatchKit необязательным.
Спустя месяцы и месяцы пробовать все здесь... Определение безумия... запуск Xcode под новым пользователем Mac разрешил его для меня.
Я удалил ~/Library/Developer/* и переустановил Xcode, поэтому не знаю, что еще форматировать, чтобы заставить его работать.