2012-10-24 47 views

回答

2

在你的类AppDelegate中。你可以这样做:

//Application did launch 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    int count = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchCount"]; 
    if(count < 0) count = 0; 
    [[NSUserDefaults standardUserDefaults] setInteger:count+1 forKey:@"LaunchCount"]; 
} 

//The application was in background and become active 
- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
    int count = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchCount"]; 
    if(count < 0) count = 0; 
    [[NSUserDefaults standardUserDefaults] setInteger:count+1 forKey:@"LaunchCount"]; 
} 
+0

10x工作完美! – Sosily

+0

@Ashbay你可以把它放在viewDidLoad下面吗? –

3
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
    //add 1 
} 

 image

图像从http://www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/

+0

他应该重写didBecomeActive方法: - (无效)applicationDidBecomeActive:(UIApplication *)应用程序 – Ashbay

+1

在我对此问题的理解中,OP想知道应用程序启动/初始化了多少次。当应用程序从不活动状态转换到活动状态时,例如应用程序处于活动状态,然后发生中断(例如电话呼叫),将调用applicationDidBecomeActive',如果用户没有接听电话,则会调用applicationDidBecomeActive'。 – janusbalatbat

+0

是的,你说得对。这是我没有想到的。 – Ashbay

0

是,使用是NSUserDefaults的一个简单的解决方案。

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary  *)launchOptions{ 
    // Get the NSUserDefault number here, if not available, create a new. 
} 

如果你想它来跟踪它是从后台重新开始的时刻,看看:

-(void) applicationWillEnterForeground:(UIApplication*)application 

尝试是这样的:

// Get the number of starts: 
NSNumber *starts = [[NSUserDefaults standardUserDefaults] objectForKey:@"starts"]; 

// increase by one 
NSNumber *number = [NSNumber numberWithInt:([starts intValue] + 1)]; 

// store the number of starts 
[[NSUserDefaults standardUserDefaults] setObject:starts forKey:@"starts"]; 
相关问题