在 iOS 应用程序包中包含数据
Posted
技术标签:
【中文标题】在 iOS 应用程序包中包含数据【英文标题】:Including data in iOS application bundle 【发布时间】:2014-04-16 14:03:16 【问题描述】:因此,我有一个新要求,即在我的 ios 应用程序包中包含一些数据(而不是通过 API 调用下载),因为数据非常大,并且不会经常更改。
我目前的设置是:
用户登录后,我从 后端数据库 将其加载到我的对象模型中 NSArchive 它。 下次登录时,我取消存档并使用数据(无需 再次下载整个数据集。嗯,其实我还是下载 数据,但只会下载更改/新记录)。我正在寻找一种将数据捆绑到我的应用程序中的最佳方法(这将使我不必下载很大的“初始”数据集)。
我知道,我可以选择将我的包中的初始数据集包含在一个 json 文件中,然后将其加载到我的对象模型中并存档,但我想知道是否可以生成一个 NSArchive 文件(其中包含我的初始数据集)并将其包含在我的应用程序包中吗?
欢迎任何建议。
谢谢。
【问题讨论】:
【参考方案1】:如果您为对象使用符合NSCoding
的类,那么我建议分别使用[NSKeyedArchiver archiveRootObject:toFile:]
和[NSKeyedUnarchiver unarchiveObjectWithFile:]
写入和读取数据。
可以使用setOutputFormat
方法将数据保存为XML 或二进制属性列表。
有关详细信息,请查看 Apple 的 Archives and Serializations Programming Guide 和 NSHipster 的 article on NSCoding。
【讨论】:
以上是关于在 iOS 应用程序包中包含数据的主要内容,如果未能解决你的问题,请参考以下文章
错误 Itms-90339:此捆绑包无效。 info.plist 在应用程序包中包含无效键“CFBundleResourceSpecification”
在我的 iOS 应用中包含 Google+ SDK 时出现捆绑验证错误
是否仍然需要在 iOS 应用程序中包含非 Retina 资产?