微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

静音背景推送iOS无法从服务器访问

如何解决静音背景推送iOS无法从服务器访问

我收到来自服务器的静后台推送通知,其中包含以下有效负载-(我正在使用版本为ios 14.0.1和XCode版本12.0的ios设备对此进行测试)

{"aps":{"content-available":1},"PushID":"{"PushId":"xxxxxxxxxxx","CreatedOn":000000000,"Operation":"00","OperationName":"OperationName1","Issilentpush":"True"}"}

此外,我已在“签名和功能”的“后台模式”中启用了“后台获取”和“远程通知”,并且还在AppDelegate.m类中添加了以下代码

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
{
 
   //Success
    NSLog(@"userInfo value=%@",userInfo);
    
    completionHandler(UIBackgroundFetchResultNewData);
}
​

要提到的另一点是,如果我通过某些在线APNS测试器传递相同的有效载荷,则我将null的pushContent和Data表示为null,请您帮我解决这个问题,让我知道问题出在哪里吗?

解决方法

您应将AppDelegate设置为UNUserNotificationCenter.current()的代表。

AppDelegate因此需要实现协议UNUserNotificationCenterDelegate。 当您的应用收到远程推送通知时,应调用此协议的方法userNotificationCenter(UNUserNotificationCenter,didReceive: UNNotificationResponse,withCompletionHandler: () -> Void)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。