2012-11-01 56 views
0

我想在我的應用程序中玩遊戲中心達到一定的時間。不過,我不確定我會如何去記錄用戶所玩的時間。我在想也許我可以創建一個單獨的課程,創建於applicationDidFinishLaunchingWithOptions:,這個課程在applicationWillTerminate之前是活動的,而在applicationWillTerminate中,我用NSUserDefaults保存期限,但是這真的是最好的方式嗎(如果它工作的話)?如何記錄應用程序會話持續時間?

回答

1

您可以使用-(void)applicationWillResignActive:(UIApplication *)application-(void)applicationWillEnterForeground:(UIApplication *)application開始和停止測量。

但是要衡量實際的遊戲時間,您可能應該實施更復雜的邏輯,例如實際遊戲開始時的開始測量,並停止「遊戲結束」和「暫停」事件。然後,您只能使用-(void)applicationWillEnterForeground:(UIApplication *)application自動觸發「暫停」(由於它是「暫停」事件,將會停止測量)。

+0

這很有幫助,但我將如何實際執行計時部分? – pasawaya

+0

一種方法是在開始時獲取當前日期和時間,例如:NSDate * startDate = [NSDate date];在停止的時候,你可以調用類似於NSTimeInterval ti = [[NSDate date] timeIntervalSinceDate:startDate];你有幾秒鐘的時間。我猜可能有其他方法。 – demosten

+0

聽起來不錯。謝謝! – pasawaya