这一个也由我自己解决。 很好的答案是, 新版App:更改sqlite文件名。检查文件存在,获取旧版本的应用程序sqlite名称然后删除,并添加到该文件夹中。 这是最好的答案。
STEP 1: select .xcdatamodel file
STEP 2: Xcode -> Design -> Data Model -> Add Model Version
STEP 3: Manipulate new changes
虽然在阅读Apple的文档之前我并不确定如何添加模型版本,但我的旧方法仍然有效。
Apple提供的'Reciepe'示例,如果文件已经存在,则不会替换该文件。 但是,如果您的代码需要更新并删除旧的.SQL文件,则需要显式条件来检查更新所需的旧文件sqlite名称删除功能。 基本顺序是,
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发布应用程序。 读取Core Data(.sqlite)文件的当前状态已经预取(已经有像apple的'Reciepie'程序这样的信息)。
假设我已成功通过apple store发布,并决定将我的应用程序更新为现有用户。
假设我有sqlite内容,但它包含的信息比以前相同结构的SQLite文件更多。
问题1.每次对现有用户进行更新时,是否会删除以前的用户并移动新更新的应用程序?
问题2.如果不是,那么我如何追加现有的sql值?
答案 0 :(得分:0)
如果您不更改基础数据模型,则答案为:
1)从v1.0更新到v1.1不会删除已经由Core Data存储和管理的先前内容。
2)只需使用主捆绑包检查应用程序的版本,如果检索的版本需要插入其他数据,请执行插入操作。您可以在
中进行检查和插入- (void)applicationDidFinishLaunching:(UIApplication *)application;