2016-01-07 4 views
0

Я использую Realm в своем проекте и до сих пор это было здорово! Я переместился с swift 1.2 на Swift 2, и теперь у меня возникла ошибка при компиляции моего кода на устройстве (не на симуляторе).Ошибка при переходе с Swift 1.2 на Swift 2

Здесь ошибка:

dyld: Библиотека не загружается: @ RPATH/libswiftSecurity.dylib ссылочной от: /частный/вар/мобильный/Контейнеры/Bundle/Application/64E2D461-F95C-4E86 -B3D3-5FAAA00AF77C/myPhotoCalendar.app/Frameworks/RealmSwift.framework/RealmSwift Причина: изображение не найдено

Я действительно не понимаю, что это значит. Я пробовал некоторые трюки, но никто из них не работал до сих пор. Кто-нибудь может мне помочь?

+0

Можете ли вы обеспечить в своем проекте Xcode, что вы правильно ввели Realm.framework и RealmSwift.framework? Проверьте фазы сборки> встроенные фреймворки. – Shripada

+0

На самом деле, я просто обновляю Realm Framework с помощью cocoapod, как это написано на документации в области. Но действительно, кажется, что встроенные фреймы пустые. Как я могу это сделать, чтобы решить эту проблему? – Zipette

ответ

1

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

Похоже, это так, потому что фаза сборки «Embed Pods Frameworks» отсутствует в вашем проекте. Убедитесь, что CocoaPods обновлен. (gem update cocoapods) Затем вы можете использовать свою интеграцию на pod deintegrate и снова установить с нуля. (В качестве альтернативы вы можете удалить агрегированную цель Pods_*.framework из связанных библиотек.) Это должно гарантировать, что все фазы сборки будут воссозданы CocoaPods.

Для справки, вы должны иметь фазы сборки, как показано ниже в цель вашего проекта:

build phases in Xcode

Указанная совокупная целевая структура рассматривается в «Link Двоичные с библиотеками» панели как Pods.framework здесь. Имя зависит от того, интегрируете ли вы несколько целей своего проекта и как они называются. Поэтому его можно было бы также назвать Pods_YourApp.framework.

+0

Hello Marius, Большое спасибо за вашу поддержку, но, к сожалению, после вашего ответа попробуйте и попробуйте еще раз. У меня такая же ошибка. Возможно, это связано с тем, что я не понимаю этого предложения в вашем ответе: »(также можно удалить объединенные целевые объекты Pods _ *. Framework из связанных библиотек.) Это должно убедиться, что все фазы сборки заново созданы от CocoaPods ". Что такое agregate target pods _ *. Framework из связанных библиотек и как его удалить? Не могли бы вы мне помочь? Thks again Vincent. – Zipette

+0

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

+0

Привет, Мариус, я переделаю все ваши инструкции (снимите деинтеграцию ... pod install ..).Я снова открываю свой проект, проверяя ссылку «Связать с двоичными файлами с библиотекой» и «Встроенный модуль pods» (они оба в порядке), и попытайтесь запустить мое приложение, но все еще ошибка «dyld: Библиотека не загружена: @ rpath/libswiftSecurity.dylib Ссылка from: /private/var/mobile/Containers/Bundle/Application/E77DC716-808A-460F-93CD-049597FDFFF8/myPhotoCalendar.app/Frameworks/RealmSwift.framework/RealmSwift Причина: изображение не найдено " – Zipette

Смежные вопросы