MagicalRecord 是不是同时支持自动迁移和 iCloud?

Posted

技术标签:

【中文标题】MagicalRecord 是不是同时支持自动迁移和 iCloud?【英文标题】:Does MagicalRecord support auto-migration and iCloud at the same time?MagicalRecord 是否同时支持自动迁移和 iCloud? 【发布时间】:2014-09-17 23:09:56 【问题描述】:

我正在使用 CoreData 和 Magical Record 构建应用程序。到目前为止,我正在通过调用来设置堆栈:

(void) setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName;

但我也想使用 iCloud 来同步商店。但我需要使用 autoMigration 设置堆栈,因为应用程序将不断扩展和增长,并且需要新版本的数据库模式。

我能找到将 iCloud 与 MagicalRecord 结合使用的唯一方法是使用

设置核心数据堆栈 (void) setupCoreDataStackWithiCloudContainer:(NSString *)icloudBucket localStoreNamed:(NSString *)localStore;

或其他 iCloud 容器方法之一。那么如何设置 iCloud 与我的核心数据存储同步并仍然使用自动迁移?

【问题讨论】:

【参考方案1】:

iCloud 场景需要很快重新审视。 ios7 中对 iCloud 和 CoreData 的更改/修复使事情变得比以前容易得多,并且需要更新库以反映这一点。

如果你现在想使用 MagicalRecord 和 iCloud,你可以设置一个自动迁移堆栈,然后简单地添加一个支持 iCloud 的持久存储。

【讨论】:

我想我明白你的意思了——在这种情况下, 嗯,不是真的。你肯定让它听起来很简单 - 我看到一个关于多个数据库的问题,你建议通过 PS 协调器使用 addSqliteStoreNamed。但我的困惑是你不能告诉持久存储使用 iCloud,你必须在创建 PS 时这样做,所以最终,这将需要使用 NSPersistentStoreUbiquitousContentNameKey 创建第二个 PS,因为第一个 PS 是通过创建的MR 作为自动迁移。还是我在这里遗漏了一些重要的东西?谢谢! 重要的部分是当您添加商店时,您会在 options 参数中传递正确的选项。在这种情况下,您将在调用 addPersistentStore 时传递您的内容名称键选项。就像我说的,我知道先生应该更好地支持这一点,但只是没有时间去做。

以上是关于MagicalRecord 是不是同时支持自动迁移和 iCloud?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 MagicalRecord 执行多个轻量级 CoreData 迁移?

Simperium和MagicalRecord

集成 RestKit 和 MagicalRecord 时出现 CoreData 轻量级迁移错误

静态库中的 CoreData 自动迁移

MagicalRecord v2.2 和已发布应用的简单轻量级迁移

每次构建时如何停止构建支持文件(如 MagicalRecord)