【发布时间】:2014-05-15 15:32:40
【问题描述】:
为了提供一些上下文,我正在开发的应用程序允许用户沿时间线记录一系列事件。我们从 beta 测试人员那里收到的一条重要反馈是,当用户在录制时退出应用程序时,他们希望计时器在设定的时间内保持最新状态。
例如,如果用户记录了 5 分钟,然后离开应用查看电子邮件 20 秒,则计时器应该是 5:20,但实际上仍然是 5 分钟。
所以我们已经解决了这个问题 - 应用现在会显示 5:20,这在后台运行。
但是,我们无法在一定时间后找到阻止它的方法。如果应用程序在后台运行了很短的时间,用户可能希望计时器恢复,但如果您将其留在后台 30 分钟,计时器将更新,我希望能够给用户有一个可选的截止时间,以便应用在设定的时间后暂停。
我试过监听 UIApplicationDelegate 通知,但问题是我正在寻找 applicationDidEnterBackground: 和 applicationWillTerminate 之间的一个点,但遗憾的是那里没有什么可以满足我的需求。
总而言之,我希望从 applicationWillResignActive: 开始有一个 30-60 秒的宽限期来确定是暂停计时器,还是让它继续运行。
这可能吗?
提前致谢
【问题讨论】:
-
我不确定这是否可行,但在
applicationDidEnterBackground:中,您也许可以创建第二个计时器并将其设置为 30-60 秒。然后,当计时器触发时,使跟踪记录时间的原始计时器无效 -
我试过了,但没有成功,感谢您的宝贵时间!