发布新版本的应用程序会删除旧版本的文件吗?

时间:2011-11-12 13:45:45

标签: iphone ios app-store

我要发布我的应用程序的新版本。以前的版本使用了一些在较新版本中更改并需要处理的文件。我希望在用户更新应用程序时自动删除旧文件,否则应用程序会看到它们并将处理它们(导致错误,因为文件格式已更改)。 有选择吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

由于您正在处理这些文件,因此可以选择将格式版本放在文件或文件夹路径中。在应用程序中将该版本烘焙为常量。

应用程序可以通过将常量附加到获取这些文件的路径来查找这些文件,也可以查看文件的数据以获取格式版本并正确处理(删除,重新下载等... )。

另一个好处是,如果您发布您的应用程序并且格式版本没有更改(可能 - 您只是修复了错误),您不必删除并重新下载这些文件。您也不必更改任何内容或更新任何例程 - 只是不要更改文件格式常量,它不会更改您的文件。如果您更改文件的格式,请更新该常量,它才能正常工作。

答案 1 :(得分:0)

在代码中从捆绑包中获取应用程序版本并根据需要执行必要的更改始终是一个好习惯:

NSString* versionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];

然后,您可以比较此字符串(或字符串的浮点版本)以确定要对数据进行的更改。您可以删除旧数据(如您的情况),或者提取一些旧数据并创建新数据(通常的方式),或者应用程序可能根本不需要更改。

要记住的重要事项是,您可以上传/发布应用程序的多个版本,而某些用户可能没有下载新版本。因此,最好让方法根据版本字符串更新数据,而不是期望它是数据的最后版本。