【问题标题】:iCloud not fatching previous version data if i upgrade testing version on appstore version如果我在 appstore 版本上升级测试版本,iCloud 不会增加以前的版本数据
【发布时间】:2014-08-07 02:02:09
【问题描述】:


我的应用在 iCloud 中使用 coredata。
我的应用程序版本在 iTunes 商店版本号 1.0 上运行。

我在 coredata 中添加了新模型版本,在我的 coredata 实体中添加了 2 个字段。 2.0版

如果我从 xCode 安装二进制文件,带有 coredata 的 iCloud 工作正常。
工作场景是
安装 v1.0 形式的 xcode 存档。
在应用程序中输入一些数据
从 xcode 存档升级到 v2.0。
所有事情都与 icloud 一起工作。

Borken 场景是
从应用商店下载 1.0 版。
输入一些数据。
从 xcode 存档升级 v2.0,iCloud 中的数据丢失。

我不知道我错过了什么。但是 iTunes 版本有问题存档版本升级。

【问题讨论】:

  • iCloud 数据管理栈对于 live 版本和测试版本是不同的?

标签: ios objective-c core-data icloud


【解决方案1】:

您可以使用 CoreData 执行轻量级自动迁移,您只需将其作为选项添加到您的 persistentStoreCoordinator 委托方法中:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (_persistentStoreCoordinator != nil) {
        return _persistentStoreCoordinator;
    }

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"your_coredata_database.sqlite"];

    NSError *error = nil;
    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
    if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:@{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES} error:&error]) {

    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

coredata 迁移存在限制,但小的调整应该可以毫不费力地迁移。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多