如何在我的应用中只打印一次警报视图?

时间:2013-05-26 15:20:53

标签: ios

我想向用户显示一条消息,如果他们正在使用新版本的应用,并且只在应用启动时显示此消息一次。

我已经设法获得应用程序最终版本和捆绑的版本,并将它们与显示或不是警报视图进行比较以提出新应用程序。现在我只想知道如何在完成一次后再次显示此警报。

感谢您的帮助。

4 个答案:

答案 0 :(得分:4)

要检查是否需要显示UIAlertView,请将变量存储在NSUserDefaults中。例如,在appDidFinishLaunching中你可以这样做:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
if (! [defaults boolForKey:@"alertShown"]) {
  // display alert...
  [defaults setBool:YES forKey:@"alertShown"];
}

在显示提醒中,只需弹出警报的代码即可。

答案 1 :(得分:1)

将用户默认值中的版本号保存并检查带有应用版本的版本,如果两者相同则继续,否则显示警报并将用户默认变量更新为最新版本。第一次保留用户默认的空白字符串。

答案 2 :(得分:1)

以下是如何做到这一点的想法。

-(BOOL)application:(UIApplication *)application … {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
if (! [defaults boolForKey:@"notFirstRun"]) {
  // display alert...
  [defaults setBool:YES forKey:@"notFirstRun"];
}
// rest of initialization ...
}

这里,[defaults boolForKey:@"notFirstRun"]读取名为notFirstRun

的布尔值

来自配置。这些值初始化为NO。因此,如果此值为NO,则执行if分支并显示警报。

完成后,我们使用[defaults setBool:YES forKey:@"notFirstRun"]将此布尔值更改为YES,因此if分支将永远不会再次执行(假设用户没有删除应用程序)。 / p>

答案 3 :(得分:0)

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![[defaults valueForKey:@"SHOW_ONLY_ONCE"] isEqualToString:@"1"])
{
    [defaults setValue:@"1" forKey:@"SHOW_ONLY_ONCE"];
    [defaults synchronize];
}