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

Bec*_*yer 28 ios watchkit watchos watchos-2

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

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

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

Der*_*ard 12

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

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

  • 请问如何在iPhone和Watch之间同步核心数据. (3认同)

ccj*_*sen 11

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

  • 不,共享组仅适用于在同一设备上运行的进程.在这种情况下,您必须使用WatchConnectivity框架来协调进程 (2认同)
  • 因此,我该如何访问保存在iPhone应用程序中的核心数据数据库。 (2认同)