ios - 如何监听开机

ios - how to listen for boot up

iOS 中是否有通知以便我可以知道 phone 何时重新启动?例如,当 phone 像 android 的 onBootComplete 广播一样完全启动时,我想要一个事件发布到通知中心。

据我所知,NO Direct Documented API 可用于此。当 iPhone 重新启动时,应用程序将处于 Not 运行 状态。请参考Docs for understanding Execution States for Apps.

虽然您可以要求系统在某些传入事件上重新启动您的应用程序。 支持后台执行的应用程序可能会被系统重新启动以处理传入的事件。如果应用程序因用户强制退出以外的任何原因终止,系统会在以下事件之一发生时启动应用程序:

  1. 对于定位应用:
    • 系统收到符合应用配置的传送标准的位置更新。
    • 设备进入或离开注册区域。 (区域可以是地理区域或 iBeacon 区域。)
  2. 对于音频应用,音频框架需要应用处理一些数据。 (音频应用包括播放音频或使用麦克风的应用。)
  3. 对于蓝牙应用:
    • 充当中心角色的应用程序从连接的外围设备接收数据。
    • 充当外围角色的应用程序从连接的中心接收命令。
  4. 对于后台下载应用程序:
    • 应用的推送通知到达,通知的有效负载包含值为 1 的内容可用键。
    • 系统会适时唤醒应用程序以开始下载新内容。
    • 对于使用 NSURLSession class 在后台下载内容的应用程序,与该会话对象关联的所有任务要么成功完成,要么收到错误。
    • 报亭应用启动的下载完成。

在大多数情况下,系统不会在用户强制退出后重新启动应用程序。一个例外是位置应用程序,在 iOS 8 及更高版本中,它会在用户强制退出后重新启动。但在其他情况下,用户必须明确启动应用程序或重启设备,然后应用程序才能由系统自动启动到后台。 引用自 Understanding When Your App Gets Launched into the Background.