首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确保核心数据在整个开发周期内持续存在的最佳做法

确保核心数据在整个开发周期内持续存在的最佳做法
EN

Stack Overflow用户
提问于 2015-03-20 18:23:34
回答 1查看 50关注 0票数 1

我正在开发一个核心数据iOS应用程序。我经历过一些数据库与模型不同步的情况,主要是由于我的错误(意外地编辑active xcdatamodel而不是创建新版本)。这导致了测试版测试人员的数据丢失,他们更新到了糟糕的版本,并体验了应用程序崩溃。目前,我知道如何从这些崩溃中恢复的唯一方法是删除并重新安装应用程序。

有哪些最佳实践可以确保我的测试版测试人员的数据不会再次丢失?目前,我正在做以下工作:

  • 版本化我的XCDatamodel (编辑器->添加模型版本)
  • 启用自动迁移:
代码语言:javascript
运行
复制
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                             [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

更有经验的核心数据开发人员还积累了哪些其他技巧?是否有一种从核心数据模型中恢复不同步的好方法?

EN

回答 1

Stack Overflow用户

发布于 2015-03-20 21:00:01

在任何时候更改模型时,创建一个新的模型版本都是,这是避免此类问题的方法。我不知道有什么方法可以让Xcode或其他工具对您强制执行。您需要确保不对现有的数据模型版本提交更改。在提交git (或您使用的任何文件)之前,密切关注哪些文件被更改。

您需要做的另一件事是确保使用与您的beta用户相同的升级来测试新构建。您正在进行更改,一切都很好,但是在推出新版本之前,先从测试人员使用的数据开始,然后升级到新版本。如果有任何模型不匹配的问题,您将遇到它,您可以在发送新构建之前修复它。最简单的方法通常是:

  1. 将应用程序从设备中删除
  2. 安装最新的beta版本并创建一些数据
  3. 安装您的新版本,并确保升级按照预期的方式进行。

测试升级过程对于应用程序的任何新构建都是至关重要的,无论是beta版本还是发行版,这样您就可以在用户之前发现升级问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29173357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档