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

412

Я пытаюсь запустить приложение 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
user3751185
источник
4
очистка и восстановление работали для меня
MoralCode
Решение здесь . Та же тема
Тарик
Очистка и перестройка моего проекта, который будет работать на меня
Сайед Захид Шах
1 Я столкнулся с той же проблемой ... Это было исправлено добавлением: В вашем podfile: use_modular_headers! вместо use_frameworks! Удачи! Я надеюсь, что это работает для вас!
Теджас

Ответы:

554

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

Build Settings > Always Embed Swift Standard Libraries

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

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

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

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

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

Талаа
источник
20
У меня тоже сработало, так что спасибо большое. Что меня озадачивает, если я добавляю быстрый код в проект, почему Xcode не обновляет это автоматически? Это звучит как разумное поведение по умолчанию. Я полагаю, что таким образом вы получите больший контроль над включенными библиотеками и т. Д.
PoL0
11
Для меня было "Вставить пакеты активов в продуктовый пакет"!
Matte.Car
17
Сделайте чистку после того, как вы это сделаете.
Агрессор
2
Очистка после этого - вот что решило мою проблему. Рад, что проверил комментарии! =]
Relequestual
75
Теперь она называется Always Embed Swift Standard Library.
Warpzit
136

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

royherma
источник
Очистка имеет смысл, поскольку она вызывает обновление кэшированных элементов, используемых в сборке. Я должен был сделать это, потому что я только что обновил сертификат подписи. Я сделал чистую и чистую папку сборки (опция-чистая).
Виктор Энгель
12
ха да, это сработало. я сбросил свои сертификаты ранее, и эта чистка работала как шарм.
Кодовое дерево
Гений, ха, это было, вероятно, вызвано переходом со быстрого 2 до 3 без очистки между, я подозреваю, по крайней мере для меня
Fonix
2
Та же проблема здесь. Новая свежая сборка требуется после манипулирования сертификатами.
Марк
1
Та же проблема здесь. Чистый это шаг. нет необходимости манипулировать сертификатами. моя проблема решена.
Маниш Нахар
95

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

@executable_path/Frameworks

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

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

jemmons
источник
2
Обновил старый проект iOS6 до iOS7 и Swift и получил эту ошибку. @ executetable_path / Frameworks исправили это. Спасибо!
Lensflare
5
Для меня, начиная с Xcode 8b5, это было фактически @loader_path/../Frameworksдля модульных тестов macOS и @loader_path/Frameworksдля модульных тестов iOS, которые нужно было добавить.
Паскаль
Да! Это было исправление, которое сделало это для меня в iOS 10 / Xcode 8. Проект начался на iOS 2-3 как чисто цель-c, и мы только что добавили немного Swift.
TahoeWolverine
Добавление этого исправило ошибку и для меня. Кто-нибудь знает полную причину этого? Спасибо за помощь.
Род
У меня тоже сработало! (XCode 8.2.1)
Добрый великан
63

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

Мустафа
источник
1
Какие-нибудь мысли? @Mustafa
user3751185
62
Ответ очень расплывчатый.
Unheilig
1
Опять же, ответ довольно расплывчатый. Не совсем уверен, что это значит по отношению к ОП.
Ричи Маркес
2
Работал на меня. Добавление только в раздел «Связанные фреймворки и библиотеки» не помогло.
Danchoys
5
Объяснение: Если то, что вы видите в сообщении об ошибке, является именем платформы (например, созданной вами пользовательской среды Cocoa Touch Framework), не просто добавьте .framework в целевые зависимости в фазах сборки. Вам также необходимо добавить его во встроенные двоичные файлы на вкладке «Общие». Этот ответ исправил это для меня.
Мэтью Кирос
62

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

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

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

Бонни
источник
Это помогло мне с аварией на WatchOS
Алекс Бартиш
28

Я думаю, что это ошибка, когда сертификаты генерируются непосредственно из 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/MaintainmentCertificates/MaintainedCertificates.html#//apple_ref/doc/uid/TP40012582-CH31- SW32
  4. перейдите к XCode> Предпочтения> Учетные записи> [ваш Apple ID]> дважды щелкните по имени вашей команды> нажмите кнопку обновления, чтобы обновить сертификаты и профили обеспечения
Виджай Сундарам
источник
У меня работало только при удалении и создании только в XCode, инструмент developer.apple.com «Сертификаты, идентификаторы и профили» создавал новые плохие сертификаты.
Грэм П Хит
4
Прости мое невежество ... Как этот Ответ связан с заданным Вопросом? Похоже, вы ответили на другой вопрос. Или, вернее, вы ответили на @ user3056783 удаленный ответ, который был просто «У меня тоже проблема с комментарием».
15:15
Я только что сгенерировал сертификат в XCode, так что, возможно, это была та же проблема, хотя я смог решить ее, просто запустив Clean.
pr1001
1
Эта кнопка «Обновить» теперь переименована в «Загрузить все» ... :)
Тизелиус
1
Та же проблема в XCode 7. Ручная генерация файлов сертификатов в центре разработчиков Apple решила проблему для меня.
JonSlowCN
25

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

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

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

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

nalexn
источник
Это сработало и для меня. Я использовал модули для включения SDN PubNub и AWS. Я пытался использовать разные методы, такие как изменение пути поиска Runpath. Это значение уже было указано в ответе выше. Пометил да, чтобы встроить быстрый код в настройках сборки, но не работал. Наконец это решение сработало для меня. Приветствия.
Эсан
1
Работал на меня. Я бы никогда не заподозрил что-то подобное. Большое спасибо.
Пьер-Ив
Я попробовал все решения выше этого, и это был гвоздь в гробу. Я не уверен, что мне нужна была комбинация всех из них, но это было для меня победителем. Чтобы было ясно, вот что я сделал: очистил проект, включил load_path в пути поиска Runpath, переместил сертификат распространения из системы в цепочку для ключей входа в систему, установил Всегда вставлять стандартные библиотеки swift в значение yes, «недоверенный» сертификат (установите его обратно в систему доверие по умолчанию).
Ник Молинеукс
Святая Молли ... Большое спасибо!
Этенил
23

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

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks
DonnaLea
источник
1
Да, это так! Столкнулся с этим для AFDateHelper.framework, Result.framework для тех, кто Google их путь здесь. Я понял, что это было решением, так как это изменило имя фреймворка, для которого я получал эту ошибку - это была фреймворк, в котором я пропустил включение, carthage copy-frameworksтак как это была вторичная зависимость (та, которую добавил фреймворк, который я использовал )
Ангад
2
Аллилуйя! Благослови вас Бог, Донна Ли. Вот и закончилась 3-х часовая борьба.
Адам Уэйт
Brilliant. Как раз то, что я искал.
gran_profaci
21

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

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

Джим брей
источник
Я получил dyld: Символ не найден: _ $ s11SubSequenceSlTl. Это работает 👍
Адитья Дешман
Большой! Решено с этим
Роран
Работает! Это напоминает мне о программировании старых окон, когда вам нужно было установить распространяемый Visual C ++ msvcrt.dll
mcatach
Спасибо! Перепробовал все остальное и на этом все.
Silverstar
17

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

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

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

loretoparisi
источник
1
ДА, для фреймворка в swift необходимо установить для параметра «Встроенный контент, содержащий код Swift» значение ДА
Дэвид
Я создал инструмент командной строки, который использует некоторые библиотеки dylibs, которые должны поставляться вместе с инструментом в локальном каталоге (а не в / usr / lib или что-то в этом роде). otool -Lпотому что эти дилибы сказали мне, что они уже используют @rpath/...для своего собственного пути. Теперь, установив путь поиска Runpath на путь к этой папке, я могу запустить свой инструмент, и он найдет дилибы, которые хранятся в папке рядом с ним.
Томас Темпельманн
При попытке добавить модуль Swift в проект React Native, он вместо этого не смог найти @rpath/libswiftAppKit.dylib. Вопрос веди меня , чтобы узнать , что я должен был добавить SearchPath: на @executable_path/../Frameworks/основе этих инструкций . Относится ли это только к структуре моего проекта, я не могу сказать. Следует отметить, что мне не нужно было очищать DerivedData, чтобы этот параметр вступил в силу!
Джейми Бёрч
16

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

Цитируется по техническим вопросам QA1886 :

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

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

A: Чтобы исправить эту проблему, вам нужно будет подписать свое приложение, используя сертификаты для подписи кода с установленной организационной единицей (OU) для вашего Team ID. Все корпоративные и стандартные сертификаты разработчика 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, вам нужно будет создать другой архив.

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

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

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

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

flatronka
источник
Потратив много часов, пытаясь понять, почему моя новая установка CI не смогла правильно опубликовать бета-приложение (корпоративная учетная запись, действительно), я понял, что в опциях экспорта compileBitcode ДОЛЖЕН быть верным.
gderaco
10

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

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

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

Саззад Хисейн Хан
источник
9

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

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

Майкл Ян
источник
7

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

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

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

Бруно Коэльо
источник
6

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

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

чтобы:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-frameworks.sh"
Бартломей Семанчик
источник
1
Если это не сломало что-то еще, это было исправлением для меня!
RealCasually
Что еще эта штука сломала? Можете ли вы помочь мне улучшить ответ?
Bartłomiej Semańczyk
Похоже, что работает, за исключением того, что запуск pod install перезаписывает изменения.
RealCasually
@RealCasually, вы правы. Есть ли способ предотвратить перезапись этого или любого обходного пути?
Бартломей Семанчик
О, МОЙ БОГ. это было проблемой для меня после попытки 100 других вещей и 4 часов обезьян. Что именно происходит в framework.sh vs resources.sh?
kennydust
6

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

Белый тигр
источник
Удаление моих производных данных также сработало, я в любом случае заранее очистил (CMD + K) на всякий случай, и ошибка умерла мучительной смертью!
Стюарт П.
6

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

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

Пол Попил
источник
Это случилось со мной, переходя с Xcode 9.2 на 9.3. Хотя я обнаружил его лишь спустя долгое время после обновления, потому что, пока проект был построен с использованием Xcode 9.2 ранее, он продолжает бесконечно работать с Xcode 9.3. Только после чистой проверки я обнаружил это.
Свейн Фиджестол
Я не думаю, что этот ответ оценен достаточно высоко. Используя Carthage и устанавливая обновленную версию Xcode, вам нужно перестроить библиотеки Carthage, чтобы устранить эту проблему.
Даррен
5

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

Даниил
источник
4

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

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

Патрис из 8Beats
источник
4

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

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

abinop
источник
это путь к структуре или путь к основным настройкам проекта?
ZeeroCool77
У меня был один проект static lib a, и я хотел добавить в него swift fw. Эта инструкция вместе с Embedded Containers содержит код Swift to Yes, который решил все проблемы.
mauron85
Кажется, это сломало мой проект.
UKDataGeek
3

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

newDeveloper
источник
3

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

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

UKDataGeek
источник
2

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

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

HG123
источник
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными в случае изменения связанной страницы. - Из обзора
Bartłomiej Semańczyk
2
Извиняюсь. Загрузите сертификат WWDR, ​​а затем откройте его для установки в цепочку для ключей. Сертификат находится здесь: developer.apple.com/certificationauthority/AppleWWDRCA.cer
HG123
2

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

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

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

VDPATEL
источник
2

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

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

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

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

millionyearsold
источник
Спасибо! Я в вашей ситуации, и это сработало и для меня.
Йорис Веймар
Да, это решение для CLI!
Мори Марковиц
1

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

neoneye
источник
1

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

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

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

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

chanduthedev
источник
1

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

Максимум
источник
Можете ли вы сэкономить немного более подробный ответ? Где вы находите его (сертификат) - я думаю, то, что вы написали, означает что-то от Apple Worldwide Developer ... но какое полное имя? как повторно добавить его после того, как вы полностью удалили его из всех цепочек для ключей? Где вы найдете этот сертификат?
Мотти Шнеор
1

Я использую 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. Не решение, но, по крайней мере, оно позволяет мне двигаться вперед с моей работой.

Мэтт Берсон
источник
Я пытался это проблемы возникают, но когда я выйду и перезапустить xcode, он работает. :). Хорошая попытка
Абхишек Таплиял
1

Если вы получаете сообщение об ошибке, подобное этому:

Не удалось загрузить пакет YourFrameworkTests, так как он поврежден или отсутствует необходимый ресурс. Попробуйте переустановить комплект. (dlopen_preflight (/ some / path /.../ YourFrameworkTests.xctest / YourFrameworkTests): библиотека не загружена: @ rpath / SomeOther.framework / SomeOther Ссылка на: / some / path / ...)

и используйте CocoaPods в своей структуре, затем попытайтесь отредактировать Podfileи удалить inherit! :search_pathsиз Testцели, и запустить pod installснова.

Для получения дополнительной информации см. Https://github.com/CocoaPods/CocoaPods/issues/8868 .

Marius
источник