在Settings.bundle更新后空字符串值
-
19-09-2019 - |
题
有关QA目的,我在应用程序的设置,查看为PSTitleValueSpecifier显示我们的应用程序的构建版本。我把我们的应用程序的当前版本号为默认值和更新它为每一个新版本。
我的问题是,每当我通过Xcode中开发的手机上部署我们的应用程序的一个新的版本,版本值不更新,但仍与以前的版本。更新版本的值的唯一方法是从开发手机中删除应用程序,然后部署新的版本。显然,这种方法不请我们的QA部门,因为他们再松所有的持久数据。
我都试过了,清洗工程,重新编译和部署,但我得到了相同的行为。
有其他人遇到这个问题?关于如何解决它的任何想法/解决?
解决方案
这是因为该值使用被存储在盘上和仅当该应用被移除NSUserDefaults的除去储存。你可以明确地设置它的代码就像任何其他的用户默认的方式相同。当您要发送一个新的版本,你可以只创建一个在您的Info.plist你换一个领域。读取在启动时的plist该值,然后将其与写入到您的用户默认值:
NSString *value = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"build_version"];
[[NSUserDefaults standardDefaults] setObject:value forKey@"build_version"];
[[NSUserDefaults standardDefaults] synchronize];
当然,你替换“build_version”以您的键名是在你的设置文件。这是一个黑客,但它可能会满足您的QA人。
有关参数的缘故,它实际上是合理的期望,你有看到版本号更新之前完全删除以前的版本,但我知道不是所有的QA人员是合理的。 ; - )
不隶属于 StackOverflow