将核心数据与watchOS 2.0一起使用

时间:2015-06-14 20:16:54

标签: ios watchkit watch-os-2 watch-os

我使用WatchKit 1.0创建了一个iOS / Apple Watch应用程序,该应用程序使用共享组容器和自定义框架来访问同一个Core Data存储。现在,在watchOS 2.0的过渡指南中,Apple说:

  

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

但这如何与Core Data配合使用?我是否需要维护两个单独的存储,一个位于手表上的Documents文件夹中,另一个位于手机上,并使用Watch Connectivity框架同步更改?我看到watchOS 2.0可以访问核心数据框架(它位于Available Technologies列表中)...但是我不确定当商店位于手机上时它有多大帮助。任何帮助/指导表示赞赏!

2 个答案:

答案 0 :(得分:12)

我建议使用用户信息后台传输设置同步,以便在首次运行时转移商店后,双向镜像每个数据库操作(如果需要)。

WWDC Session 713 - Watch Connectivity简介涵盖了所需的机制。很好的API,他们已经放在一起。

答案 1 :(得分:11)

是的,您必须维护两个独立的商店。如果任何一方是"只读"客户端和CoreData数据存储区很小,并且不经常更改您可能会使用transferFile WatchConnectivity API在每次更改时传输整个存储。