我想更新应用以在首次发布时添加导览。我通常会用某种NSUserDefaults
键来处理这个问题。但是,已经发布了预先存在的应用程序现有版本。
如何在首次启动应用时触发某些行为,但仅限于全新安装,而不是在更新后首次启动?
答案 0 :(得分:0)
您可以通过网络服务查看应用版本。并警告用户更新应用程序。这种情况下,需要互联网连接。
答案 1 :(得分:0)
最简单的方法是使用NSUserDefaults
保存当前版本:
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"app_version"] || [[[NSUserDefaults standardUserDefaults] objectForKey:@"app_version"] integerValue] < [[[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleVersion"] integerValue]) {
// new version detected!
[[NSUserDefaults standardUserDefaults] setObject:[[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleVersion"] forKey:@"app_vervion"];
}
编辑已添加对包含此功能的首次更新的用户默认值的检查。
EDIT II 我现在明白了你真正想要的东西。你需要几乎相同的代码:
if (![[NSUserDefaults standardDefaults] boolForKey:@"tour_done"]) {
// present tour and that call:
// [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"tour_done"];
// [[NSUserDefaults standardUserDefaults] synchronize];
}
答案 2 :(得分:0)
启动时,检查是否存在具有当前运行版本唯一名称的文件/持久性设置。如果不存在,请显示游览,然后触摸文件/创建持久设置。
答案 3 :(得分:0)
到目前为止,我可以确定的最佳方法是首先发布没有巡视的版本,但 记录NSUserDefaults的某种标志。然后我希望大多数现有用户在我启动第二次更新(包括巡视)之前更新并使用该应用程序。
我可以将此与@ rmaddy的建议相结合,以查找可能已经编写的任何其他以前存在的设置,以增加我的覆盖范围。
这显然远非理想。