【发布时间】:2018-10-19 12:45:42
【问题描述】:
我已经安排了明天上午 10 点的本地通知,我关闭了手机,然后后天打开了我的手机。此时没有收到通知。但是我可以收到通知,一旦我开会预定的日期和时间。那么,在 iOS 中,一旦超过预定的日期和时间就可以收到通知?
【问题讨论】:
标签: ios objective-c notifications local
我已经安排了明天上午 10 点的本地通知,我关闭了手机,然后后天打开了我的手机。此时没有收到通知。但是我可以收到通知,一旦我开会预定的日期和时间。那么,在 iOS 中,一旦超过预定的日期和时间就可以收到通知?
【问题讨论】:
标签: ios objective-c notifications local
能否请您重新表述一下您的问题?
据我了解,您说如果设备未在预定时间打开,则不会发送您的本地通知。
一般来说,您的本地通知不会由您的应用处理。当您注册本地通知时,iOS 负责传递它。这也意味着当您的本地通知计划发送时,您的应用不必运行。
如果您的本地通知本应在上午 10 点发送,但您的设备在上午 9:50 到 10:10 之间关闭,您的本地通知将会丢失!
您的应用不应依赖于传递本地通知。了解用户是否收到本地通知的唯一方法是当他通过单击通知或使用其中一项操作打开您的应用程序时。然后,您的应用将在后台被application:didReceiveLocalNotification 调用,或者在之前被杀死时被application:didFinishLaunchingWithOptions: 定期调用。
TL;DR:您不应该关心用户是否收到本地通知,因为无法确保他在某些条件下收到通知。
【讨论】: