Watchkit 和 Realm 0.92.3

Watchkit & Realm 0.92.3

Swift 在 Xcode 6.3 和 iOS10.10.3 下集成新的 Realm-DB(领域 0.92.3)基本上适用于 iPhone(不是适用于 Apple-Watch)。 Watchkit(即Apple-Watch)下相同realm-framework的集成还没有生效

RealmSwift.framework 被集成(拖入)嵌入式二进制文件,如 here1 and 所述。 请参阅下面的屏幕截图:

当运行使用模拟器的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) 

还有什么问题吗???

主应用的Framework-Search-Path已设置。 MyApp Watchkit Extension 和 MyApp Watchkit App 的没有设置。设置它们不会改变上述错误。还缺什么???

我建议您使用 CocoaPods。

我和你一样,使用动态框架,但是当我尝试使用 Xcode 的管理器将我的应用程序提交到 iTunes Connect 时,由于嵌套框架,我无法做到。 Realm.framework 在 RealmSwift.framework 里面,这对 Apple 来说是不合适的。所以我试了又试,但没有任何帮助……

然后我使用了 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 终于为我完成了(见下文)。之后一切正常...... 要安装,只需打开一个终端,转到您应用程序的文件夹(放置 Podfile 的位置)并键入

pod install

之后确保从现在开始打开 ​​"MyApp.xcworkspace"(不再是 "MyApp.xcodeproj"),一切就绪!

这是有效的播客文件:

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