2015-06-14 102 views
24

我制作了一个带有WatchKit 1.0的iOS/Apple Watch应用程序,该应用程序使用共享组容器和定制框架来访问相同的Core Data存储。现在,过渡指南watchOS 2.0,苹果这样说:在watchOS 2.0中使用核心数据

如果现有观看应用和iOS应用使用共享组容器或iCloud的交换数据,你必须改变你交换的watchOS该数据的方式2.由于WatchKit扩展程序现在在Apple Watch上运行,因此扩展程序必须无线地与iOS应用程序交换数据。您可以使用NSURLSession对象或使用Watch Connectivity框架来实现这一点,该框架支持iOS应用程序和WatchKit扩展之间的双向通信。

虽然这与Core Data有什么关系?我是否需要维护两个独立的商店,一个在手表的Documents文件夹中,另一个在手机上,并使用Watch Connectivity框架同步更改?我发现watchOS 2.0可以访问核心数据框架(它位于Available Technologies的列表中)......但我不确定当商店位于电话上时它有何帮助。任何帮助/指导表示赞赏!

+0

嗨,你解决了这个问题。请帮助代码如何访问钟表套件中的核心数据操作系统2 – Rajesh

回答

8

是的,你将不得不维护两个独立的商店。如果任何一方是“只读”客户端,并且CoreData数据存储很小并且很少发生更改,则可能使用transferFile WatchConnectivity API在每次更改时传输整个存储。

+0

我仍然需要使用共享组访问手表套件os 2中的iPhone核心数据数据库。 – Rajesh

+1

不,共享组仅适用于在同一设备上运行的进程。在这种情况下,您将不得不使用WatchConnectivity框架来协调进程 – ccjensen

+1

因此,如何访问保存在iPhone应用程序中的核心数据数据库。 – Rajesh

12

我建议使用用户信息后台传输设置同步,以便在第一次运行时传输存储后在两个方向上镜像每个数据库操作(如果需要)。

WWDC第713会议 - 介绍Watch连通性涵盖了所需的机制。他们放在一起的漂亮的API。

+0

感谢您的视频推荐;我只是看着它,它帮助了很多!我同意这个API ......它很容易使用并完成工作。 –

+3

可以请你帮助如何同步iPhone和Watch之间的核心数据。 – Mukesh