iOS实现判断程序关闭、关机的思路

最近在研究竞品的时候,发现其实现了检测APP是否关闭,用户是否关机的功能。当然我们知道以iOS的情况来说,是没有API能直接做到的。不过简单想了想,觉得利用多种方式配合,或许我们还是可以「判断」关机和APP关闭的。

  1. APP使用心跳机制和服务器保持通信。
  2. APP监听手机的网络状态变化,并将数据上传给服务器。
  3. 服务器定时利用Slient Remote Notifications判断APP是否有反应。

判断

服务器发现客户端心跳不正常,判断是否有网络异常状态,如果有网络异常状态则判断为「网络异常」。
如果没有网络异常状态,则向APP发送Slient Remote Notifications,如果APP没响应,则判断为「关机」。
如果有响应,则判断为「APP关闭」

avatar

Code4Cocoa

A ThoughWorker