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

Я пытаюсь реализовать CocoaLumberjack в качестве фреймворка, и он отлично работает на симуляторе, но при попытке использовать его на моем iPhone я получаю эту ошибку:

dyld: Library not loaded: @rpath/CocoaLumberjack.framework/CocoaLumberjack
  Referenced from: /var/containers/Bundle/Application/3EF12D55/myApp.app/CocoaLumberjackSample
  Reason: image not found

Кто-нибудь из вас знает, в чем разница между тренажером и устройством?

Я буду очень признателен за вашу помощь.


person user2924482    schedule 10.04.2017    source источник


Ответы (1)


Ну разница проста:

Всякий раз, когда вы запускаете свое приложение в симуляторе, оно может получить доступ к любым другим продуктам сборки в той же папке сборки, например, к frameworks. Вот почему вы не сталкиваетесь с этой проблемой в симуляторе. На вашем устройстве iOS это другая история, потому что Xcode копирует только фактический пакет приложений на ваше устройство. Поэтому, чтобы заставить его работать, вам нужно добавить CocoaLumberjack.framework на этапе сборки Embed Frameworks. Это скопирует фреймворк в подпапку Frameworks в комплекте приложений, чтобы ваш двоичный файл приложения мог его найти.

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

Если у вас нет фазы сборки Embed Frameworks, вы можете либо добавить New Copy Files Build Phase с помощью кнопки добавления в левом верхнем углу вкладки фаз сборки, а затем выбрать Frameworks в качестве места назначения. Другой вариант — выбрать вкладку «Общие», прокрутить вниз и затем добавить свою структуру в разделе Embedded Binaries.

person Jens Meder    schedule 10.04.2017
comment
Как добавить опцию Embed FrameWorks в Xcode 8.3.1? - person user2924482; 10.04.2017
comment
Вы можете либо добавить новую стадию копирования сборки с помощью кнопки добавления в левом верхнем углу вкладки фаз сборки, а затем выбрать Frameworks в качестве места назначения. Другой вариант — выбрать вкладку «Общие», прокрутить вниз и затем добавить свою структуру в разделе Embedded Binaries. - person Jens Meder; 10.04.2017