我见过一种灵活的方法,用于将用户数据从一个iOS应用程序升级到另一个iOS应用程序;目标应用程序注册为特殊URL处理程序,源应用程序base64编码整个文件,并将其作为纯文本字符串发送到专用URL,目标应用程序解码并保存到文件系统。
是否可以编码原始的托管对象上下文&发送&目标解析进入它的托管对象上下文?也就是说,而不是覆盖目标数据,合并传入的数据?这个问题的答案只是“你可以用传入的数据做任何你想做的事情吗?”
编辑:
我还没有使用过,但我正计划使用here讨论的数据到文本到url到url-handler-to-data的方法。假设这是有效的,我的问题是,我猜,目标可以将数据解析为我插入到目标托管对象上下文中的托管对象吗?原点和目标具有相同的管理对象模型。
答案 0 :(得分:0)
如果您发送整个.sqlite文件本身的内容,则可能会尝试执行此操作。您必须让目标应用程序从保存到目标沙箱的文件中构建整个(即NSPersistentObjectStoreCoordinator
)核心数据堆栈。如果您有两个堆栈已经指向同一个网址(您创建了NSManagedObjectID
,并且随后使用NSManagedObjectModel
初始化NSPersistentStoreCoordinator
,则最好[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model]
。