为啥我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒
Posted
技术标签:
【中文标题】为啥我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒【英文标题】:Why my app in iOS 13 awake in background by silent push when terminated by user为什么我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒 【发布时间】:2019-09-27 05:25:43 【问题描述】:我不知道这是否是 Apple 的错误或功能。在the documentation:
如果用户强制退出,系统不会自动启动您的应用。在这种情况下,用户必须重新启动您的应用或重启设备,然后系统才会再次尝试自动启动您的应用。
与其他 *** 问题一样,thisthis 显示相同。
在我的情况下,系统在后台重新启动应用程序并运行代码以存储在数据库中。怎么可能?它在后台调用方法 didFinishLaunchingWithOptions: 然后didReceiveRemoteNotification:
(未在应用切换器中显示)。但在早期版本中,它不会唤醒在 ios 12.2 中测试的后台应用程序
我正在发送通知的有效负载
"aps":
"alert":
"body": "",
"title": ""
,
"mutable-content": 0,
"category": "",
"badge": "",
"sound": "",
"content-available": 1
,
"data":
//other fields
【问题讨论】:
即使在 iOS 13.1 中被杀,您是否仍然面临应用唤醒? @suryakantsharma 是的。它也在 iOS 13.1 中唤醒。 @SuryaKantSharma 我在 iOS 13.6 中也遇到了同样的问题,你有办法解决吗? 不,也许你们可以投票,以便有人可以看看 苹果论坛讨论discussions.apple.com/thread/250682565 【参考方案1】:我使用的是 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
【讨论】:
以上是关于为啥我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒的主要内容,如果未能解决你的问题,请参考以下文章
iOS 13 > 应用程序被终止且不在后台时,通用应用程序链接不起作用
为啥在 iOS 9.3 中杀死/终止应用程序后后台位置不起作用
为啥我在 iOS13.2 中加载 WKWebView 时收到控制台警告:[Process] kill() 返回意外错误 1?