plist 文件是不是与应用程序包一起存储?

Posted

技术标签:

【中文标题】plist 文件是不是与应用程序包一起存储?【英文标题】:Are plist files stored with the application bundle?plist 文件是否与应用程序包一起存储? 【发布时间】:2014-12-19 16:56:24 【问题描述】:

我有一个 iPad 应用程序(XCode 6.1、ios 8.1 和 Storyboards)。我目前正在修改应用程序,以便能够使用 iCloud 将其同步到其他设备。

我的问题是:所有 .plist 文件都是应用程序包的一部分吗? (即我是否必须担心如果应用程序在设备之间同步,.plist 文件是否与应用程序包一起使用,或者我是否必须将它们移动到带有 Core Data 存储的 iCloud 中)?

【问题讨论】:

如果您将 .plist 文件从应用程序明确保存到 Documents 文件夹,那么这些文件将不会成为捆绑包的一部分。 不,它们被创建一次,此代码用于检索它们:NSString *pListPath = [[NSBundle mainBundle] pathForResource:@"ColorSchemes" ofType:@"plist"];NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:pListPath]; 在这种情况下,它们是捆绑包的永久部分。 如果你要重新写你最后的评论,我会把它标记为答案,这样你就可以得到积分。感谢您的宝贵时间。 为什么需要同步作为应用一部分打包的只读 plist 文件? 【参考方案1】:

如果您将 .plist 文件从应用程序明确保存到 Documents 文件夹中,那么这些文件将不会成为捆绑包的一部分。

在分发时归档到 .ipa 文件中的所有其他文件,它们是捆绑包的永久部分。


注意:您可以在官方网站上阅读有关该捆绑包的更多信息,例如here.

【讨论】:

以上是关于plist 文件是不是与应用程序包一起存储?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:如何测试主包 .plist 文件内容?

持久化存储——偏好设置,plist,归档---学习笔记二

修改 plist 不起作用

静态库的资源(图像和 plist)捆绑

iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种

如何将嵌套的 Array/JSON 字符串存储在 .plist 文件中?