我正在构建一个应用程序,它正在构建一个包含在核心数据数据模型中的数据。当我将应用程序运行到模拟器时,数据就在那里,一切都很好。 但是,当我将应用程序部署到设备(iPad)时,应用程序工作正常,除了没有数据。 看起来似乎没什么好事,但似乎无法找到一个开关或复选框或任何告诉xcode与模型一起部署数据的东西。
更新
建议的副本对我没有帮助。我不确定我完全理解需要做什么。我有我的初始数据集的sqllite数据库,每次启动应用程序时是否需要将其加载到核心数据中?
此外,用户编辑/添加/删除的数据如何?
那会丢失还是允许留在核心数据中?
答案 0 :(得分:1)
您需要做的是根据上述重复问题准备一组初始数据。
数据库文件将与您的应用捆绑在一起。该位置(在主捆绑中)将与部署位置不同。在我参与的项目中,我们使用应用程序文档目录作为部署位置。
因此,逻辑如下。在您的app委托中,在didFinishLaunchingWithOptions
方法中,检查应用程序文档目录中是否存在.sqlite
文件。如果它没有从主包中获取文件并将其复制到该位置。
从那时起,将该文件用于所有数据库操作。
这就是你在应用程序中包含预装数据库的方式。
现在,首先创建预加载的数据库怎么样?为此,您应该在项目中创建另一个目标。该目标将基于数据模型创建数据库,并使用您的初始数据填充它。一旦创建,您应该将该文件拖放回Xcode,以便它包含在您的应用程序的资源包中。