繁体   English   中英

iOS-在设备设置中,如果我更改时间,即使在应用程序后台,终止状态下也应得到通知

[英]iOS - in device settings if i change time it should get notified even in app background, killed state

要获取设备设置的时间更改通知,我发现我们必须使用UIApplication.significantTimeChangeNotification通知和func applicationSignificantTimeChange(_ application: UIApplication)委托方法。

但是就我而言,即使应用程序处于后台或处于终止状态,我也必须向用户显示本地通知,说设备时间已更改。 有可能吗,请告诉我们是否有解决方案。

来自Apple Document on applicationSignificantTimeChange

如果您的应用程序当前处于暂停状态,则此消息将排队等待,直到您的应用程序返回到前台为止,然后在该时间点将其交付。 如果发生多个时间更改,则仅传送最新的时间。

因此,它清楚地表明,只有在应用程序位于前景中时,此方法才有效。 当应用未运行时,它甚至没有排队。

要在应用未运行时显示任何本地通知,应将其安排在过去以在将来触发。 当应用程序未运行时,它不可能知道时间更改事件。 看来您将无法实现您所要求的。

我不相信。 iOS无法将通知传递给未运行的应用,并且通知不会在任何地方排队。

但是,一种可能的解决方法是从受信任的在线来源获取当前UTC值,并将其与设备认为UTC的值进行比较并存储该偏移量。 应用重新启动后,请再次计算该偏移量,如果该偏移量与之前存储的偏移量有显着差异,请采取措施应对“重大时间更改”通知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM