在iOS上监控应用程序并在后台锁定状态更改

时间:2018-10-11 13:03:31

标签: ios background-mode

我正在尝试制作一个焦点计时器应用程序(例如Forest),该应用程序可以通过转到主屏幕,切换到另一个应用程序或先锁定手机,然后再通过另一个应用程序来检测您是否离开了该应用程序通知,小部件,相机等。

我不知道的是即使在手机被锁定一会后也如何监视这种状态的变化。这种情况下没有“背景模式”,所以我会期望该应用在后台运行一段时间后会暂停。但是,像Forest这样的应用程序却可以成功完成此任务。我是否需要一种解决方法来保持应用程序苏醒,或者我错过了一些根本不需要后台执行的方法?

帮助非常感谢!

1 个答案:

答案 0 :(得分:0)

如果我不得不猜测,可能是以下几点的组合:

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

请参见Execution States for Apps

请参见Background Execution

请参见Cocoanetics: Accessing the iOS System Log

请参见Keep iOS App Awake To Monitor Movement

请参见Apple System Log Facility