iOS 会限制预定的本地推送通知吗?
Posted
技术标签:
【中文标题】iOS 会限制预定的本地推送通知吗?【英文标题】:Does iOS throttle scheduled local push notifications? 【发布时间】:2018-10-04 08:42:06 【问题描述】:我的应用通过FCM
接收静默推送通知,正如我在日志中看到的那样,这些通知已被接收和处理。然后,我的应用程序会根据某些逻辑决定是否向用户显示通知。这有时有效,有时无效。在我看来好像它首先工作然后突然停止工作,所以我猜测这可能是一个节流问题?
我确实安排了 5 个通知,间隔 30 秒 - 这样用户就不会错过通知:
for i in 0...5
let notification = UNMutableNotificationContent()
notification.title = NSLocalizedString("bed_wet", comment: "")
notification.subtitle = device.lookAfterPatientString
notification.sound = UNNotificationSound(named: "alarm.mp3")
notification.categoryIdentifier = Notification.Category.alarm
notification.userInfo = ["identifier": device.id]
let timeInterval = max(1, delaySeconds) + i * 30
let notificationTrigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(timeInterval), repeats: false)
let request = UNNotificationRequest(identifier: UUID.init().uuidString, content: notification, trigger: notificationTrigger)
UNUserNotificationCenter.current().add(request) error in
...
这个循环会是问题吗?
【问题讨论】:
打印出时间间隔。在我看来,没有 30 秒间隔的限制。 调度发生了,这是肯定的 - 似乎通知从未显示...... 我发现了这个:***.com/a/47319860/978133 但不确定它是否能回答你... 很遗憾没有,我从不一次安排超过 64 个 您能否显示更多代码,因为其他地方可能存在问题 【参考方案1】:用dispatch_async试试吧,可能调用了几个不阻塞主线程的代码,有些时候没有调用。
第二个问题可能是 ios 具有防止应用向手机发送垃圾邮件的逻辑。你有没有看到 instagram 通知从几百到只有几个通知。
谢谢
【讨论】:
以上是关于iOS 会限制预定的本地推送通知吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 react-native 创建本地推送通知 - IOS