静默推送通知不适用于前台 iOS 应用

过山车游泳

当我的应用程序在前台时,我无法让我的应用程序接收静默推送通知。我已正确设置推送通知,并且无论应用程序处于何种状态,都可以接收“警报”通知(具有警报、声音或徽章的通知)。但是当我发送以下推送通知有效负载时:

{ 
    "aps": { 
        "content-available": 1
    }
}

我的应用程序不会通过应用程序委托接收它application:didReceiveRemoteNotification:completionHandler:我在签名和功能中选中并启用了“远程通知”。

疯狂的事情是,我知道我发送正确并且手机正确接收它,因为如果我将运行方案更改为“等待可执行文件启动”并运行应用程序,发送相同的通知自动启动应用程序(并且推送通知有效负载将包含在 中launchOptions)。如果应用程序已经在前台(甚至后台),我就是看不出为什么我的委托方法不会被调用的任何原因。

有没有人以前经历过这种情况并且可能知道在哪里查看我是否在某处错误地更改了设置?这是在运行 13.3 并使用 Xcode 11.3 的 iPhone 上。

过山车游泳

好吧,在为此挣扎了几天之后,我在发布这个问题后不到一个小时就偶然发现了我的答案。

要让后台通知发送到您的应用程序,您必须在UIApplication.shared.registerForRemoteNotifications() 每次启动应用程序时调用如果我已经有了令牌,我就会跳过调用,这导致我的委托方法不被调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

firebase react-native推送通知适用于iOS版本的发布,但不适用于通过App Store发布的应用

适用于iOS的Firebase FCM静默推送通知

适用于iOS的FCM静默推送通知结构吗?

Firebase推送通知不适用于iOS上的生产

iOS推送通知不适用于AdHoc证书

推送通知不适用于iOS设备

使用Firebase的Laravel FCM推送通知不适用于iOS,但适用于Android

应用内购买不适用于iOS7

适用于iOS的推送通知服务

当iOS应用在前台时忽略推送通知

推送通知不适用于iOS,.php文件显示连接错误

适用于VOIP iOS应用的PushKit

适用于iOS应用的通用链接

适用于iOS应用的otool输出

仅适用于iOS的设置应用

iOS9通用链接不适用于Safari,但适用于其他应用

找不到XF绑定..属性,仅适用于我的Android应用程序,而不适用于iOS

应用程序是为模拟器创建的,但不适用于“通用iOS设备”

NativeScript 应用程序名称中的撇号不适用于 Android/ios 部署

iOS应用程序:Firebase动态链接不适用于最新的Pod文件

IOS上的WebRTC应用程序不适用于美国iPhone

应用内购买不适用于ios7 /从不兼容类型分配给..

适用于IOS和Android的推送通知哪个更好

适用于IOS和Android的推送通知的最佳方法

Flutter本地通知不适用于iOS

适用于IOS的Google Cardboard VR应用中的黑屏

适用于IOS的应用内购买产品

适用于iOS应用的密码自动填充

适用于iOS 7应用的XCode 6中的UISplitViewController