objective-c - 如何记录应用程序 session 持续时间?

标签 objective-c ios timer duration

我希望在我的应用程序中获得游戏中心成就,以便玩游戏一定时间。但是,我不确定如何记录用户玩游戏的时间。我在想也许我可以在 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/

相关文章:

ios - Swift:JSON 意外错误,二级元素为零

delphi - 以编程方式关闭 TrayIcon 气球

java - 如何在java网络游戏中使用定时器?

linux - 内核模式 clock_gettime()

iphone - 接口(interface)的ios语法

objective-c - 在 C 和 Objective-C 中,将 float 或 double 截断为整数的真正正确方法是什么?

ios - GestureRecognizer 和 IBOutlet 不能一起工作

ios - 捕获 UIScrollView 上的触摸

ios - 在固定页脚的 UIView 中向页脚添加按钮

ios - 出现特定字符后,子字符串 NSString 最多限制字符数?