Iphone 通过iTuneStore在核心数据执行更新时追加数据集

Iphone 通过iTuneStore在核心数据执行更新时追加数据集,iphone,core-data,Iphone,Core Data,这个问题我自己也解决了。 好的答案是, 新版应用程序:更改sqlite文件名。检查文件是否存在,获取旧版应用程序sqlite名称值,然后删除,并添加到该文件夹中。 这是最好的答案 *新的有效答案 有关迁移或重新组织数据模型结构的更多详细信息,请访问Apple 虽然在阅读苹果的文档之前,我并不确定如何添加模型版本,但我的老方法仍然有效 老掉牙的自我回答 苹果提供的“Reciepe”示例中,如果文件已经存在,则不会替换该文件。 但是,如果您的代码需要更新并删除旧的.SQL文件,那么检查更新所需的旧文

这个问题我自己也解决了。 好的答案是, 新版应用程序:更改sqlite文件名。检查文件是否存在,获取旧版应用程序sqlite名称值,然后删除,并添加到该文件夹中。 这是最好的答案

*新的有效答案 有关迁移或重新组织数据模型结构的更多详细信息,请访问Apple 虽然在阅读苹果的文档之前,我并不确定如何添加模型版本,但我的老方法仍然有效

老掉牙的自我回答 苹果提供的“Reciepe”示例中,如果文件已经存在,则不会替换该文件。 但是,如果您的代码需要更新并删除旧的.SQL文件,那么检查更新所需的旧文件sqlite name deleting函数所需的显式条件。 基本顺序是

CHECK 1: check if old file exist.
CHECK 2: if it does, remove it.
CHECK 3: then copy new one.
CHECK 4: if the old file don't exist,
CHECK 5: (if the new file don't exist),
CHECK 6: copy new file into that folder.
CHECK 7: if new file exist do nothing.
解决了

原始问题 所以我已经完成了我的代码工作。 这是第一次通过iTuneStore发布应用程序。 读取核心数据(.sqlite)文件的当前状态已经被预取(已经有类似苹果“Reciepie”程序的信息)

假设我已通过apple store成功发布,并决定向现有用户更新我的应用程序

假设我有sqlite内容,但它包含的信息比相同结构下以前的sqlite文件多一点

问题1。每次对现有用户进行更新时,是否会删除以前的更新并移动新的更新应用程序


问题2。如果不是,那么如何附加现有sql值?

如果不更改基础数据模型,则答案是:

1) 从v1.0更新到v1.1不会删除以前由核心数据存储和管理的内容

2) 只需使用主捆绑包检查应用程序的版本,如果检索到的版本需要插入其他数据,则执行插入操作。您可以在中执行检查和插入

- (void)applicationDidFinishLaunching:(UIApplication *)application;
- (void)applicationDidFinishLaunching:(UIApplication *)application;