当我的iOS应用处于非活动状态时,如何处理事件?

时间:2018-11-06 12:35:12

标签: ios iphone swift cocoa-touch

因此,我正在构建一个具有闹钟功能的应用程序。我已经通过实现iOS背景模式功能之一(背景获取,播放音频,定位服务等)来使我的应用无限期地处于背景状态,这方面进行了大量研究,但是,实现一个由于明显的原因,这些技术中最有可能导致App Store审查拒绝。除此之外,所有这些背景模式都会消耗过多的电池,这对于用户体验而言确实是很糟糕的。因此,我决定完全按照本文的建议退出多任务处理:https://oleb.net/blog/2014/02/alarm-clock-apps-ios/ 例如,在这种情况下,当用户锁定屏幕时,我的应用程序将不会进入后台。取而代之的是,该应用将退出活动状态并保持不活动状态。这是我设置警报的方式:我为该特定警报安排了通知并安排了计时器。我的问题是,在非活动状态下,我设置为将来触发的计时器不起作用。在官方文档中,它表示在非活动状态下,应用程序可能会执行一些代码,但不会收到事件。 iOS“ Rise”警报应用程序如何工作?

我的应用程序处于前台和活动状态时,我已经多次测试了此功能,并且运行良好。但是,当我设置警报并锁定屏幕时,计时器不再按预期工作。我不懂为什么。我确定我的应用程序仍在运行并且没有终止。

我注意到的另一件重要的事情是,当我尝试进行调试并将iPhone与计算机连接时,无论我计划的时间是什么,消息都会按预期的方式记录在控制台中,并且计时器按预期的方式工作计时器,无论我的应用程序处于活动状态还是非活动状态。但是,当我将手机与MacBook断开连接时,会发生一些魔术,并且计时器不再触发...

顺便说一句,有没有一种方法可以让我在处于非活动状态时通知我的应用有关本地通知的信息?处于非活动模式时,不会调用委托方法“ willPresent通知”。

任何建议和帮助将不胜感激!

0 个答案:

没有答案