Я работаю над iOS App и Watchkit App.Как использовать Realm (установленный с Карфаген) с фреймворком в приложении Swift?
Я читал кое-что относительно лучших практик, и я решил создать пользовательскую базу, так как NathashaTheRobot советуют здесь: https://realm.io/news/architecting-app-apple-watch-natashatherobot/
Так что я пытаюсь использовать Realm в моей структуре.
Я следовал за installation instructions for Carthage:
Add
github "realm/realm-cocoa"
to yourCartfile
.Run
carthage update
.Drag
RealmSwift.framework
andRealm.framework
from theCarthage/Build/iOS/
directory to the “Linked Frameworks and Libraries” section of your Xcode project’s “General” settings.On your application targets’ “Build Phases” settings tab, click the “+” icon and choose “New Run Script Phase”. Create a Run Script with the following contents:
/usr/local/bin/carthage copy-frameworks
and add the paths to the frameworks you want to use under “Input Files”, e.g.:
$(SRCROOT)/Carthage/Build/iOS/Realm.framework $(SRCROOT)/Carthage/Build/iOS/RealmSwift.framework
Затем я добавил свою структуру к Target Membership
обоих Realm.framework
и RealmSwift.framework
.
Но когда я пытаюсь построить проект, я получаю эту ошибку:
ld: framework not found Realm for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Тогда я дал выстрел lipo
:
$ lipo -info Carthage/Build/iOS/Realm.framework/Realm
Architectures in the fat file: Carthage/Build/iOS/Realm.framework/Realm are: i386 x86_64 armv7 arm64
У вас есть какие-либо идеи о том, что я мог бы быть делаете неправильно здесь? Спасибо.
EDIT:
ОК, так что я нашел эту проблему, и это было совершенно не связан с Realm ...
Похоже, я удалил заголовки и ресурсы разделов моей структуры Построить Фаз каким-то образом (которые были и остаются пустыми). Я просто откладываю их, и все компилируется/работает так, как должно.
Не поддавайтесь соблазну удалить те два
может изолировать и воспроизвести вашу проблему в какой-то пример проекта и толкать его где-FX, чтобы Github? –
Хорошая идея, я должен был попробовать это первым. И ... это работает. Поэтому, возможно, что-то не так с моим проектом. Я найду, что, а затем обновить свой вопрос. Спасибо – Pym
Полезно знать. Добро пожаловать :) –