gpt4 book ai didi

ios - Apple Push Notification 设置 Remote Notifications 方法覆盖其他方法

转载 作者:行者123 更新时间:2023-11-29 10:30:37 27 4
gpt4 key购买 nike

我已经使用方法正确地为远程通知设置了我的应用

func 应用程序(应用程序:UIApplication,didReceiveRemoteNotification userInfo:[NSObject:AnyObject],fetchCompletionHandler completionHandler:(UIBackgroundFetchResult)-> Void)

现在每次应用收到 Apple Push Notification 时它都会正确处理它。

但我的问题是现在在所有实例中都会调用此方法。

didFinishLaunchingWithOptions 好像没有调用了?或者 launchOptions 变空了?

基本上,我使用 didReceiveRemoteNotification 作为处理所有传入通知的捕获器,这是我的预期目的,但是当我单击通知本身时,它会触发 didReceiveRemoteNotification再次。因此处理通知两次,这是我不想要的。

这就是我希望我的应用处理通知的方式:

  • 任何时候收到通知,都想在后台自动处理通知
  • 当用户点击来自外部应用的通知时,运行与 didReceiveRemoteNotification
  • 不同的方法
  • 当用户在应用内时,运行与其他方法不同的方法

最佳答案

苹果不允许你想要的。推送通知以下列方式工作

1) 当应用程序未运行且用户单击通知时,应用程序将启动并在函数 didFinishLaunchingWithOptions 中加载通知的负载。

2) 当应用程序在后台运行时,用户点击一个通知,应用程序变为事件状态并调用函数didReceiveRemoteNotification。现在此函数包含通知的有效负载。

3) 当应用程序正在运行并调用推送通知时,函数 didReceiveRemoteNotification 被调用,该函数包含通知的有效负载。

4) 当应用程序在后台运行或处于非事件状态并且收到通知时,在用户单击通知之前无法对通知执行任何操作

关于ios - Apple Push Notification 设置 Remote Notifications 方法覆盖其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com