Watchkit&Realm 0.92.3
Xcode 6.3和iOS10.10.3下新的Realm-DB(realm 0.92.3)的Swift集成基本上适用于iPhone(不适用于Apple Watch)。 Watchkit(即Apple-Watch)下的同一个领域框架的集成工作还没有完成。
RealmSwift.framework被集成(拖入)embedded式二进制文件,如下面的这个和这里所描述的。 看下面的截图:
使用模拟器运行Watchkit-App时,会发生以下错误:
dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /Users/XXX/Library/Developer/CoreSimulator/Devices/3FE99-9-4C4C2/data/Containers/Bundle/Application/8B4-DF19F34-222973/MyApp.app/PlugIns/MyApp WatchKit Extension.appex/MyApp WatchKit Extension Reason: image not found (lldb)
还有什么问题呢?
主应用程序的框架searchpath被设置。 MyApp Watchkit扩展程序和MyApp Watchkit应用程序没有设置。 设置它们不会改变上述错误。 还有什么缺失?
我会build议你使用CocoaPods。
我做了像你一样的dynamic框架,但是当我尝试使用Xcode的组织者提交我的应用程序到iTunes Connect时,我不能因为嵌套的框架。 Realm.framework在RealmSwift.framework里面,这对苹果来说并不好。 所以我尝试尝试,但没有任何帮助…
然后我用CocoaPods和一切工作,因为它应该。
这里是CocoaPods安装说明:
Install CocoaPods 0.37.1 or later ([sudo] gem install cocoapods). In your Podfile, add use_frameworks! and pod 'RealmSwift' to your main and test targets. From the command line, run pod install. Use the .xcworkspace file generated by CocoaPods to work on your project!
这个Podfile终于为我做了(见下文)。 一切工作之后…要安装只是打开一个terminal,去你的应用程序的文件夹(放置Podfile),然后键入
pos install
之后,确保从现在开始“MyApp.xcworkspace”(不再是“MyApp.xcodeproj”),你已经设置好了!
这是工作的podfile:
xcodeproj 'MyApp.xcodeproj' workspace 'MyApp.xcworkspace' platform :ios, '8.3' source 'https://github.com/artsy/Specs.git' source 'https://github.com/CocoaPods/Specs.git' use_frameworks! link_with 'MyApp', 'MyApp WatchKit Extension' def shared_pods pod 'RealmSwift', '>= 0.93.2' end target 'MyApp' do shared_pods end target 'MyAppTests' do shared_pods end target 'MyApp WatchKit Extension' do shared_pods end