在设备关闭时处理应用程序

在iOS中关闭设备时,我可以处理/更新应用程序吗? 至少可以获得关闭设备的时间吗? 可能吗? 如果是,请告诉我答案。 如果没有,请告诉我原因。

我也遇到了同样的麻烦。 请参阅:获取设备关闭时的当前时间

我尝试了以下几种方法。

  1. 获取applicationWillTerminate中的当前时间:app delegate方法它给出了应用程序被用户终止的时间。 当设备关闭时,应用会自动终止。 所以我们可以在这里获得设备关闭的时间。 但只有当应用程序处于前台状态时设备才会切换,它才有效。 但它不会在后台工作。 在后台模式下,它给出了最后终止的时间。
  2. 如果我们在后台模式下每分钟/(几秒钟)运行一次计时器并在NSUserDefaluts中保存(替换)值,并且如果设备被关闭,则计时器将停止并且我们可以获得用户默认值中保存的最后一个值一旦手机开机后。 它也不会消耗更多的存储空间。

现在我正在使用上面的第二点。 可能是它的疯狂但它对我有用。

您可以根据AppDelegate的应用状态做出反应。

从Apple文档中查看应用程序的执行状态 ,它有详细记录

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_ref/doc/uid/TP40007072-CH2-SW3

希望能帮助到你。

据我所知,UIDevice只允许通知很少,你可以在这里找到它们。

有一些未记录的私有框架可以为您提供此类信息,但如果您使用它们,您的应用程序将被拒绝。

但您可以使用Enterprise Edition部署您的应用程序。