1

我正在尝试制作一个像 Forest 这样的焦点计时器应用程序,它可以通过转到主屏幕、切换到另一个应用程序或首先锁定手机然后通过通知、小部件进入另一个应用程序来检测您是否离开该应用程序, 相机等..

我想不通的是,即使在手机被锁定一段时间后,如何监控这种状态变化。没有涵盖此用例的“后台模式”,因此我希望应用程序在后台运行一段时间后暂停。然而,像 Forest 这样的应用程序成功地做到了这一点。我是否需要一种解决方法来保持应用程序处于唤醒状态,还是我错过了一些根本不需要后台执行的方法?

非常感谢帮助!

4

1 回答 1

0

如果我不得不猜测,它可能是几件事的结合:

  1. 使用正常的应用程序委托回调进行应用程序状态转换,以确定应用程序是否仍然能够执行代码。那是容易的部分。
  2. 您可以对控制台日志进行字符串和正则表达式处理,以检测其他应用程序何时打开、关闭等以及其他活动,这将允许您检测设备上来自您的应用程序以外的其他地方的活动。
  3. 您需要使用某种框架,Apple 说即使在后台状态下也可以获取数据。一个这样的框架是Core Motion。可能还有其他更适合您的应用程序的特定需求。

请参阅应用程序的执行状态

请参阅后台执行

请参阅Cocoanetics:访问 iOS 系统日志

请参阅保持 iOS 应用程序处于唤醒状态以监控运动

请参阅Apple 系统日志工具

于 2018-10-11T13:36:12.547 回答