push-notification - 为什么我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒
问题描述
我不知道这是否是Apple的错误或功能。在文档中:
如果用户强制退出,系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会再次尝试自动启动您的应用程序。
正如其他 StackOverflow 问题一样,这 显示相同。
在我的情况下,系统在后台重新启动应用程序并运行代码以存储在数据库中。怎么可能?它调用方法 didFinishLaunchingWithOptions: 然后didReceiveRemoteNotification:
在后台(应用切换器中未显示)。但在早期版本中,它不会唤醒在 iOS 12.2 中测试的后台应用程序
我正在发送有效载荷以进行通知
"aps": {
"alert": {
"body": "",
"title": ""
},
"mutable-content": 0,
"category": "",
"badge": "",
"sound": "",
"content-available": 1
},
"data": {
//other fields
}
}
解决方案
我正在使用 13.3,我无法复制它。当应用程序被用户强制退出但根本无法工作时,努力唤醒应用程序。我什至在这个 FCM 有效负载中使用了 2 个 content_available 和 content-available:
{
"registration_ids": [
"dX0-3Mmu9UIirh_ov4wJpl:APA9111112222233333jVRvrsvtoarX4zjtq1UjjaNtxPRL9UmXdV1l5DYMxJ86DTVxG9TDkqIEldEoRthisEfZQ5lOe8wY5ef2xoBtYv5rAM4CJizDblNh5qoZV2VvQxtoRRTIv1GiB"
],
"priority": "high",
"content_available": true,
"content-available": 1,
"data": {
// other data
}
}
推荐阅读
- java - java中标记接口中的JVM角色
- c# - 使用 WCF 生成 SOAP 请求 (RSA-SHA256 PKCS #1 v1.5)
- python - 第一个带有 Celery 的 Django cron
- arrays - 在 Powershell 中内联创建和拆分数组两次
- r - 删除具有特定值的行的简单方法
- python - 在具有类型的对象中打印特定值
- opengl - 是否必须为几何着色器中发射的每个顶点设置每个变量?
- node.js - 在 cognito nodejs 中更新用户
- objective-c - 更新后,应用程序没有重新启动可可目标 c
- python - 如何在 Python3.7 中使用给定的输入数据计算 BMI