当打开现有数据库并且之后启动simperium时,现有实体不会加载到服务器。只加载新创建的实体。
是否可以将Simperium添加到现有数据库并将所有尚未加载的实体上传到服务器?我正在考虑将Simperium添加到现有的应用程序中,当前数据必须在首次启动时上传。
答案 0 :(得分:1)
这是支持的(并且已经在应用程序Simplenote中完成),但可能有些东西无效。
当你的应用程序启动时,你是否看到一条日志消息,说明Simperium看到的现有实体的“Simperium管理X MyEntity实例”? X是否与数据库中现有对象的数量相匹配?
Simperium在启动时执行验证步骤。如果在模型中检测为SPManagedObject
子类的任何现有对象缺少有效的simperiumKey,则会创建一个。
目前,此验证过程不会自动保存生成的新密钥。您是否曾尝试在Simperium首次启动后保存您的上下文以查看是否会触发更新?
此外,如果它有用,还有一个名为getSimperiumKeyFromLegacyKey
的未记录方法,如果您在此验证过程中有一个您希望在Simperium中保留的现有唯一ID,则可以在对象子类上实现。