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

时间:2016-08-24 08:38:59

标签: ios swift

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

3 个答案:

答案 0 :(得分:2)

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

我尝试了以下几种方法。

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

答案 1 :(得分:0)

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

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

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

希望它有所帮助。

答案 2 :(得分:0)

据我所知,UIDevice只允许通知很少,你可以找到它们here

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

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