Приложение iOS с фреймворком на устройстве упало, dyld: библиотека не загружена, Xcode 6 Beta

Этот сбой был проблемой блокировки. Я использовал следующие шаги, чтобы воспроизвести проблему:

  • Создайте проект Cocoa Touch Framework
  • Добавьте файл swift и класс Dog
  • Создание платформы для устройства
  • Создание приложения Single View в Swift
  • Импорт структуры в проект приложения
  • Создание класса Swift из фреймворк в ViewController
  • Сборка и запуск приложения на устройстве

Приложение сразу же аварийно завершает работу при запуске, вот журнал консоли:

dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
  Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
  Reason: image not found

У меня есть попытался собрать на устройствах iOS 7.1 и 8.0, у них обоих один и тот же сбой. Тем не менее, я могу собрать приложение и нормально работать на симуляторе. Кроме того, я знаю, что могу изменить структуру, чтобы сформировать Обязательный - Необязательно в Link Binary With Libraries , но это не полностью решило проблему, приложение упало при создании экземпляра Dog . Поведение отличается на устройстве и симуляторе, я подозреваю, что мы не можем распространять платформу для устройства, используя бета-версию XCode. Кто-нибудь может пролить свет на это?

536
задан Yash R 18 July 2019 в 10:55
поделиться

4 ответа

Это - ошибка периода выполнения, которая вызывается Dynamic Linker

dyld: Library not loaded: @rpath/...
...
Reason: image not found

, ошибка Library not loaded с @rpath <глоток> [О] указывает, что Dynamic Linker не может найти платформу.

  1. Проверка, если платформа была добавлена к General -> Embedded Binaries

  2. Проверка, если @rpath - Build Settings -> Runpath Search Paths содержит путь с тем же местом назначения/подпутем, как была установка в Build Phases -> Embed Frameworks -> Destination, Subpath

Read больше здесь

0
ответ дан 3 October 2019 в 23:22
поделиться

Если Вы используете Xcode 11 или более новые :

  1. Перешли к настройкам Вашей цели и выбирают Общий .

Target Settings/General

  1. Прокручивают вниз к [1 116] Платформы, Библиотеки и Встроенное Содержание .

  2. Удостоверяются эти , Встраивают & Знак или Встройте, Не Подписываясь , значение выбрано для опция Embed при необходимости.

Frameworks, Libraries and Embedded Content section

7
ответ дан 22 November 2019 в 22:18
поделиться

Xcode 11

  1. Перешел к настройкам Вашей цели и выбирает Общий.
  2. Ищут "Платформы, Библиотеки, и Встроенное Содержание"
  3. Сохраняет, "Не Встраивают" и удостоверяются, что все Ваши цели (если у Вас есть больше чем один) только установили свою собственную платформу и не цели других.
0
ответ дан 22 November 2019 в 22:18
поделиться

В [1 121] Xcode 11

я сталкивался с тем же выпуском

, Изменяющимся , "Не Встраивают" в [1 123] вкладка "Общие" > "Платформы, Библиотеки, и Встроенное Содержание" все еще заканчивалось та же ошибка.

то, Что сделало решенный для меня, добавляло Платформа в [1 126] Вкладка Фаз разработки> раздел Embed Frameworks

- Обновленный---

, я заметил, что в проектах, разработанных в предыдущих версиях Xcode , Встраивают Раздел Платформ , не доступно при выполнении в Xcode 11 Найдите ниже шагов достигать решения:

1: Первая потребность добавить Новая Фаза Файлов Копии под [1 130] вкладка Build Phases .

enter image description here

2: Второе изменение название добавленной фазы к [1 131] Встраивает Платформы enter image description here

3: Измените место назначения на [1 132] Платформы .

enter image description here

4: Добавьте платформу, для которой произошла ошибка.

enter image description here

0
ответ дан 22 November 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: