我希望在我的应用程序中获得游戏中心成就,以便玩游戏一定时间。但是,我不确定如何记录用户玩游戏的时间。我在想也许我可以在 applicationDidFinishLaunchingWithOptions:
中创建一个单例类,该类在 applicationWillTerminate
之前一直处于事件状态,并且在 applicationWillTerminate
中,我保存NSUserDefaults 的持续时间,但这真的是最好的方法吗(如果它有效的话)?
最佳答案
您可以使用 -(void)applicationWillResignActive:(UIApplication *)application
和 -(void)applicationWillEnterForeground:(UIApplication *)application
来启动和停止测量。
但是,要测量实际游戏时间,您可能应该实现更复杂的逻辑,例如在实际游戏开始时开始测量,并在“游戏结束”和“暂停”事件时停止测量。然后,您可以使用 -(void)applicationWillEnterForeground:(UIApplication *)application
仅自动触发“暂停”(这将停止测量,因为它是“暂停”事件)。
关于objective-c - 如何记录应用程序 session 持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184157/