我想我的一般问题是我用谷歌搜索没有成功:是否有一种方法会在应用程序更新后立即调用?
更多详细信息:我的情况是 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/