gpt4 book ai didi

ios - 原因 : 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'

转载 作者:行者123 更新时间:2023-11-28 23:25:12 30 4
gpt4 key购买 nike

我正在寻找解决方案,但尚未找到任何结果。我的应用程序仅接收 VoIP 推送,在 iOS 13 之后,当应用程序处于后台模式时,我无法再接收推送。我查看了其他问题,但无法通过提出的解决方案解决我的问题。有人可以帮助我吗?

On iOS 13.0 and later, incoming Voice over IP calls must be reported when they are received and before the didReceiceIncomingPush() method finishes execution, using the CallKit framework, or the system will terminate your app.

Repeatedly failing to report calls may prevent your app from receiving any more incoming call notifications.

Basically, you can no longer use VoIP pushes for non VoIP messaging, and will need to use regular push notifications for those.

我阅读了此公告,但在我的应用程序中,对于特定类型的推送 VoIP,我无法使用函数 reportNewIncomingCall() 因为它需要如下参数:uuid、handle、hasVideo ecc。并且这些参数不存在于有效负载中。

最佳答案

自 iOS 13 起,您只能使用 VoIP 推送来报告来电。对于不是来电的推送,您必须使用其他替代方法(请在此处查看 answer)。

Repeatedly failing to report calls may prevent your app from receiving any more incoming call notifications.

根据我的测试,它似乎在仅报告 2 或 3 次失败后就阻止了所有 VoIP 推送,并且会保持阻止状态大约 24 小时。

because it requires params like: uuid, handle, hasVideo ecc. And these params are not present in the payload

如果您收到新来电的 VoIP 推送,但仍然没有上面列出的所需信息,您可以使用“虚拟”值初始化调用,然后更新它们。例如,将 remoteHandle 设置为 CXHandle(type: .generic, value: "Connecting...") 然后用正确的值更新它:

cxCallUpdate.remoteHandle = CXHandle(type: .emailAddress, value: "email@mail.com")
cxProvider.reportCall(with: callUid, updated: cxCallUpdate)

关于ios - 原因 : 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58911755/

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