我尝试通过fileTransfer方法发送它:
let modelURL = NSBundle.mainBundle().URLForResource("my_app", withExtension: "momd")!
WCSession.defaultSession().transferFile(modelURL, metadata:nil)
但我收到错误:
可选(错误域= WCErrorDomain代码= 7008"传递给WatchConnectivity API的参数无效。" UserInfo = {NSLocalizedDescription =传递给WatchConnectivity API的参数无效。,NSLocalizedRecoverySuggestion =仅传递正确类型的参数。} )
你知道如何在iPhone和WatchOS2之间同步CoreData吗?
答案 0 :(得分:5)
您正在尝试发送整个“momd”目录。 WatchConnectivity的传输文件API似乎不支持传输目录,因此在-session中返回错误:didFinishFileTransfer:error:
要解决此问题,您可以选择以下几种方法:
解决方案编号2可能是最好的解决方案,因为它允许您在每次更改时仅发送已经进行的更改而不是整个数据库,但会更多工作。
答案 1 :(得分:0)
这可能就是你要找的东西:Watch Connectivity Framework
在这里: https://forums.developer.apple.com/thread/3927
从 forums.developer.apple.com
引用必须重新设计使用共享组容器观看与其iOS应用共享数据的应用,以便以不同方式处理数据。在watchOS 2中,每个进程必须管理自己的本地容器目录中任何共享数据的副本。对于两个应用实际共享和更新的数据,这需要使用Watch Connectivity框架在它们之间移动数据。