Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 创建本地通知的通知服务扩展_Ios_Apple Push Notifications_Unusernotificationcenter_Usernotifications - Fatal编程技术网

Ios 创建本地通知的通知服务扩展

Ios 创建本地通知的通知服务扩展,ios,apple-push-notifications,unusernotificationcenter,usernotifications,Ios,Apple Push Notifications,Unusernotificationcenter,Usernotifications,我们希望在我们的应用程序中添加一项功能,以便用户能够选择被提醒阅读他们可能错过的重要通知。以下是我们希望它的工作方式: 当推送通知传入时,将触发通知服务扩展 扩展将检查它是否应该执行任何操作(我们不想提醒用户当前是否在应用程序中) 如果启用了提醒,扩展将尝试以1分钟的间隔生成3个本地通知,提醒用户他们错过了重要信息 如果用户打开应用程序,则清除所有现有的本地通知 如果在用户打开应用程序之前收到另一个通知,则会清除所有现有的本地通知并创建一个新的通知集 除了第3步之外,这很有效。我在工作之前检查服

我们希望在我们的应用程序中添加一项功能,以便用户能够选择被提醒阅读他们可能错过的重要通知。以下是我们希望它的工作方式:

  • 当推送通知传入时,将触发通知服务扩展
  • 扩展将检查它是否应该执行任何操作(我们不想提醒用户当前是否在应用程序中)
  • 如果启用了提醒,扩展将尝试以1分钟的间隔生成3个本地通知,提醒用户他们错过了重要信息
  • 如果用户打开应用程序,则清除所有现有的本地通知
  • 如果在用户打开应用程序之前收到另一个通知,则会清除所有现有的本地通知并创建一个新的通知集
  • 除了第3步之外,这很有效。我在工作之前检查服务扩展中的通知授权,并始终获得
    .authorized
    返回。但是,当我调用
    UNUserNotificationCenter.current.add(quot:withCompletionHandler:)
    时,会调用完成处理程序,但出现一个错误:
    此应用程序不允许通知

    奇怪的是,它有时会起作用。例如,我将获得第二次通知并获得提醒,但第一次和第三次失败。但是,这种情况非常罕见(调度本地通知的成功率<5%)


    有人对此有什么见解吗?

    嗨,约书亚,你能找到原因吗?我也明白了。授权本地通知,但在添加本地通知时,会收到确切的错误消息。我始终无法确定发生了什么。我们对该特性进行了修改,使其不使用扩展,而是使用多次推送。如果这对你很重要,我建议你向苹果公司提出支持请求,因为社区里似乎没有可行的解决方案。