ios - 在更新 iOS 应用程序时,强制覆盖/删除文档中的 plist?

标签 ios plist

我想我的一般问题是我用谷歌搜索没有成功:是否有一种方法会在应用程序更新后立即调用?

更多详细信息:我的情况是 bundle 中有一个 plist。当用户第一次尝试访问 plist 时,我会检查 Documents 目录,如果不存在,则从包中复制它。这允许用户在必要时用他们的数据覆盖。但是,每当我更新应用程序时,我都需要在 bundle 中有一个新的 plist,它将覆盖用户在 Documents 目录中的现有 plist。显然我只希望在应用程序更新后发生这种情况,而不是每次运行应用程序时发生。是否有捷径可寻?

最佳答案

您可以将 bundle 版本 (CFBundleVersion) 附加到您想要更新的 plist,并根据存储在应用程序 info.plist 中的 bundle 版本动态加载。

因此对于 1.3 版,您将加载 your_plist.1.3.plist

NSString *plistString = [NSString stringWithFormat:@"your_plist_%@", [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]];

[[NSBundle mainBundle] pathForResource:plistString ofType:@"plist"];

关于ios - 在更新 iOS 应用程序时,强制覆盖/删除文档中的 plist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157522/

相关文章:

ios - 基础核心动画——运动图像

ios - 是否可以在没有对话的情况下发布故事并将照片上传到 Facebook feed

iOS 9 : Application Transport Security plist configurations

ios - 什么是我的应用程序的更好选择 - CoreData 或 plist?

ios - 如何读取 plist 文件然后填充 UItableView?

iphone - 如何在文档目录中创建 plist 的精确副本

objective-c - 用作全局变量的 AppDelegate 变量不起作用

ios - Apple WebKit 已弃用?

ios - 使用 PHAsset 获取图片时避免重复

ios - 如何从 plist 文件中只加载选定的数据