【发布时间】:2013-03-31 06:23:17
【问题描述】:
我目前正在开发一个本机 (Objective C) iOS 应用程序(适用于 iPhone 和 iPad),我计划将它放到 App Store 上(iOS 6.1,在 Mountain Lion 10.8.3 上使用 Xcode 4.6.1)。
此应用程序需要在设备本地存储一些数据,以使我的应用程序在离线(无网络)时仍可运行。我选择使用 Core Data 是因为它易于使用,而且你仍然可以用它做一些更复杂的事情。
我的问题...关于使用 Core Data 数据库将应用程序部署到 App Store 的最佳做法是什么?
1) 使用空的 Core Data 数据库部署我的应用程序,并让它在首次启动或用户单击某个刷新按钮时自动下载数据?
优点:
- 用户可以偶尔单击一些刷新按钮来更新应用程序数据(无需更新整个应用程序,只需更新数据即可)。
缺点:
- 在填充数据库之前,该应用程序将无法使用。
- 必须在某处的服务器上维护和托管 Web 服务以响应应用程序的调用(托管成本,必须开发全新的 Web 服务,另一个故障点)
2) 使用预填充的 Core Data 数据库部署我的应用程序,并在我偶尔更改数据时让用户从 App Store 更新应用程序?
优点:
- 从 App Store 下载后,该应用程序将立即运行。
- 无需服务器端。
缺点:
- 如果我想刷新数据,用户必须从 App Store 更新整个应用程序。
对于我,开发人员来说,最简单的方法是#2,因为我不必部署服务器端应用程序......但这甚至可以做到吗?我可以轻松地创建一个虚拟类来填充我的 iPhone 模拟器上的数据库,但是否可以将此数据库与我的应用程序捆绑在一起并将其部署到 App Store? #1是唯一的方法(或最好的方法)吗?有没有我没有想到的第三种选择?
我很想听听您在这方面的经历...并且不要害怕提出您能想到的任何建议。谢谢!
【问题讨论】:
-
据我了解核心数据,将您的应用程序与现有的持久存储一起发布应该没有问题,它只是一个文件。不过,我不知道模拟器将它的文档存储在哪里。
-
我想知道如何使用现有的预填充核心数据数据库发布应用程序。