【问题标题】:Limit for Local Notifications (UNNotificationRequest) in iOS 10iOS 10 中本地通知 (UNNotificationRequest) 的限制
【发布时间】:2017-09-11 10:50:32
【问题描述】:

我知道 UILocalNotification 的本地通知限制为 64。它写在Apple Dev Docs。但是 UILocalNotification 在 iOS 10 中已被弃用。Apple 建议使用 UNNotificationRequest 来代替这个。但是Apple Dev Docs 没有说明限制通知的数量。 我找到了这个answer,但它没有指向 Apple Dev Docs 或类似内容的链接(这只是一种意见)。 有谁知道本地通知的限制? 也许有人知道 Dev Docs 的链接,或者 Apple 对此有官方回应吗?

【问题讨论】:

    标签: ios unnotificationrequest


    【解决方案1】:

    是的,我刚刚检查了 iOS 10.2,您可以添加的 UNNotificationRequest 总数的限制仍然是 64。

    【讨论】:

    • Documentation for UNNotificationRequest 没有提到它。也不是在notification guide 中。你有提到它的官方消息来源吗?我不怀疑存在限制,但想看看它是否记录在案。
    • “一个应用程序只能有有限数量的预定通知;系统会保留最快触发的 64 条通知(自动重新安排的通知计为单个通知)并丢弃其余通知。” (来源:developer.apple.com/documentation/uikit/…
    • @LukasSchulze UILocalNotification 自 iOS 10 起已被弃用。新课程 UNNotificationRequest 提到对计划数量没有限制。
    【解决方案2】:

    虽然没有正式记录,但testing shows UNNotificationRequest 保留了 64 个通知限制。

    但是,重要的是,他们处理通知队列的方式已经改变。如果通知超过 64 条:

    • UILocalNotification 将保留 64 个最快通知
    • UNNotificationRequest 保留 64 个最后设置通知

    这可能是一个错误,并记录在此radar

    【讨论】:

    • 感谢您发现这一点!
    【解决方案3】:

    UNNotificationCenter.h 的 IOS 12 版本在 (void)addNotificationRequest:(UNNotificationRequest *)request withCompletionHandler:(nullable void(^)(NSError *__nullable error))completionHandler; 的 cmets 中有这个:

    可以安排通知请求以通过时间和位置通知用户。有关详细信息,请参阅 UNNotificationTrigger。调用 -addNotificationRequest: 将用相同的标识符替换现有的通知请求。带有标识符的通知请求作为现有的已传递通知将提醒新的通知请求,并在触发时替换现有的已传递通知。 应用程序在任何时候可以安排的待处理通知请求的数量受系统限制

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多