我正在开发一个iphone应用程序项目。我们已经发布了一个带有coredata模型的应用程序,现在在我们的新版本中,我们希望删除旧版本并添加一个新版本。 (我们没有在现有核心数据模型上存储任何用户值)。我们忘记从应用程序文件夹中删除xcdatamodel,但我们删除了与核心数据相关的所有代码。现在我们必须删除xcdatamodelfile及其相关的h和m类。
在我们的新项目包中,我们可以创建一个新的核心数据模型并提交该应用程序吗?我想知道这个新的xcdatamodel会在更新我们的新版本时为用户带来任何问题吗?
谢谢! 拉姆
答案 0 :(得分:0)
在我们的新项目包中可以 创建一个新的核心数据模型和 提交申请?
在更改数据模型后,永远不要忘记进行完全重建,因为构建过程有时无法正确识别数据模型更改
我喜欢 知道这个新的xcdatamodel会创建 用户遇到的任何问题 更新我们的新版本?更新我们的新版本?
由于您不需要任何旧数据/迁移,因此在新位置创建持久存储,旧模型/旧数据文件根本不会成为问题。 (鉴于该模型已被新的适当替换)
答案 1 :(得分:0)
答案有点棘手,但这对我来说总是有用。这是为了干净安装新兼容的.sqlite文件,不是迁移!
启动模拟器,删除应用和数据(删除应用后弹出窗口)。
退出模拟器
在对数据模型进行任何编辑后打开X-Code
如果需要,请更新datamodel版本:
Editor > Add Model Version...
Versioned Core Data Model
下选择您刚创建的删除{appname}.sqlite
文件(或备份它,将其从项目文件夹中删除,然后删除引用)
清理应用(Product > Clean
)
在模拟器中运行应用程序(对于本教程,我将假设4.2)
在模拟器运行时,在Finder窗口中,导航至:
{home} > Library > Application Support > iPhone Simulator > 4.2 > Applications > {random identifier} > Documents > {appname}.sqlite
将此文件复制到其他位置
停止在X-Code中运行您的应用
将{appname} .sqlite文件拖放到X-Code中的文件列表中。
在弹出的对话框中,确保选中copy to folder
复选框。
Product > Clean
然后再次在模拟器中运行应用程序
现在你应该有一个工作的sqlite文件!
干杯, 罗伯特