用于iOS应用程序的Realm数据库,带有Watch Extension

时间:2017-04-02 17:17:43

标签: swift3 realm watchkit

帮助了解与Realm相关的问题。有一个iOS和Watch Extension应用程序。我能够连接到每个Realm base,但是当你向其中添加信息时 - 例如,在iOS应用程序中,它不会出现在Watch上。如何同步显示?

我在两种情况下都使用此功能:

func setDefaultRealmPath()
{
let directory: URL =  FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.gurman.watchTestApp")!

let fileRealmURL = directory.appendingPathComponent("db.realm")
realm = try! Realm(fileURL: fileRealmURL)

var config = Realm.Configuration.defaultConfiguration
config.fileURL = fileRealmURL

Realm.Configuration.defaultConfiguration = config

print("file url: \(realm.configuration.fileURL!)")
}

请帮忙!

1 个答案:

答案 0 :(得分:1)

在watchOS 1中,观看应用是父应用的共享扩展,可以访问共享文件,从watchOS 2开始,情况已不再如此。

watchOS 2上的应用程序与其父iOS应用程序完全分开(我认为它们可以在父应用程序关闭时运行)。因此,您需要将iOS应用程序中所做的更改传达给手表。

您可以在WatchConnectivity框架中使用WCSession在两个平台之间发送数据。如果您有一个预先捆绑的Realm文件,其中包含一组初始数据,那么您应该能够在应用程序最初启动时发送整个文件。在此之后,您应该只发送更改为手表的键值数据,以便保持最新状态。