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