有可能知道我的应用程序是第一次运行或不在xcode?

时间:2012-11-01 09:18:07

标签: ios iphone cocoa-touch ios5 xcode4.3

我创建了一个应用程序,我想为用户提示消息..也许使用UIAlertview。之后,如果用户第二次运行应用程序,警报将不再提示。

可能吗?说实话,我对如何做到这一点一无所知。 任何的想法?我搜索STO,实际上是this link,仍然感到困惑。

什么是NSUserDefaults? NSUserDefaults如何存储此信息?我的意思是这是我第一次或第二次。

感谢。

5 个答案:

答案 0 :(得分:7)

要知道什么是NSUserDefaults,我建议你看看official doc

当然,你可以用它来实现你的目标。 您可以使用用户默认值来存储有关应用程序当前运行量的信息。

或多或少喜欢:

BOOL isRunMoreThanOnce = [[NSUserDefaults standardUserDefaults] boolForKey:@"isRunMoreThanOnce"];
if(!isRunMoreThanOnce){
    // Show the alert view
    // Then set the first run flag
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isRunMoreThanOnce"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

答案 1 :(得分:3)

是的,你可以在你的应用中首次在NSUserDefault中保存一个值&打开应用程序后,将其设置为其他值。

喜欢

if(![[NSUserDefault standardUserDefault] objectforKey:@"AppOpenFirstTime"])
{
// App Open First time 
// Show Alert
[[NSUserDefault standardUserDefault] setObject:@"1" forKey:@"AppOpenFirstTime"]
}

答案 2 :(得分:2)

您可以检查是否在NSUserDefaults中存储了一些值

NSString *flag = [[NSUserDefaults standardUserDefaults] stringForKey:@"not_first_run"];
if (!flag) {
    //first run, do somethig
}

然后将其设置为某个值

[[NSUserDefaults standardUserDefaults] setObject:@"just any string" forKey:@"not_first_run"];

NSUserDefaults是在应用程序启动之间保存的键值存储。

答案 3 :(得分:1)

你可以完全像你在链接中说的那样。 NSUserDefaults写入光盘,将从您的应用程序创建和访问。

请参阅此link

答案 4 :(得分:1)

首次启动您的应用程序时boolForKey:@"AlreadyRan"FALSE。之后设置TRUE

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"AlreadyRan"] ) 
 {
    [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"AlreadyRan"];       
 }
  

使用NSUserDefaults类,您可以保存设置和属性   与应用程序或用户数据有关。

The objects will be saved in what is known as the iOS “defaults system”. 
The iOS defaults system is available throughout all of the code in your app, and any data saved to the defaults system will persist through application sessions.This means that even if the user closes your application or reboots their phone, the saved data will still be available the next time they open the app!