Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 混合应用中的VoIP通知不起作用_Ios_Ionic Framework_Push Notification_Voip_Hybrid - Fatal编程技术网

Ios 混合应用中的VoIP通知不起作用

Ios 混合应用中的VoIP通知不起作用,ios,ionic-framework,push-notification,voip,hybrid,Ios,Ionic Framework,Push Notification,Voip,Hybrid,最近,苹果改变了其处理VoIP通知的方式。现在,它们迫使您在同一个运行循环中使用CallKit,以避免丢弃通知。我得到的线索就是这个 Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCo

最近,苹果改变了其处理VoIP通知的方式。现在,它们迫使您在同一个运行循环中使用CallKit,以避免丢弃通知。我得到的线索就是这个

Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as  pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
当您三次收到此警告时,系统将“将您的通知扔到地板上”

这里的问题是,我正在开发一个使用phonegap插件推送的混合VoIP应用程序,我担心对于iOS来说,on通知事件不够快(或者至少不是相同的运行循环)

有人面对过这个问题吗

我曾想过改用常规推送通知,但我找不到一种方法让我的应用程序在被终止时重新启动,并执行一些代码(例如启动CallKit)

编辑:
我正在使用推送通知尝试这种方法,并且我已经配置了后台模式。我注意到,发送“可用内容”和一些数据,如通知中的“徽章”或“警报”,如果该应用程序最近进入后台,则会启动该应用程序。在后台15分钟后,推送通知到达,但应用程序不再启动


提前感谢。

我们的应用程序使用CallKit和push通知,当新来电的push通知到达时,它会启动。但是,它必须在项目构建中配置并运行一次,才能向iOS注册。我找到了一个解决方案:

由于iOS更改了其处理voip推送通知的策略,因此它强制您在接收voip时报告新的传入呼叫:

这个插件可以:

它合并了两个插件(WebsiteBeaver/CordovaCall和Hitman666/cordova ios voip推送)。这对我有用。我只需要从javascript中删除receiveCall并稍微调整一下插件


与voip通知注册相关的方法在cordovaCall类中,因此使用起来非常简单。

您的应用程序是否也适用于iOS 13。我马上编辑我的帖子来添加这个@Borja,是的,iOS 13。顺便说一句,我们在测试中的iPhone附带的Mac上的控制台上找到了有用的信息。具体地说,有时callservicesd的日志条目实际上会说,“不会启动,因为…”当您说“它必须在项目构建中配置”。。。我必须在哪里配置它?你能给我一些提示吗?如果你是这个意思,我已经配置了背景模式。我注意到,发送“可用内容”和一些数据,如通知中的“徽章”或“警报”,如果该应用程序最近进入后台,则会启动该应用程序。在后台15分钟后,推送通知到达,但应用程序不再启动。@Borja,是的,我的意思是后台模式。实际上,VoIP推送通知到达手机,CallKit启动我们的应用程序并发送通知,我们有大约5秒钟的时间向CallKit报告我们分配的UUID。该报告显示CK呼叫控制器。如果超过该时间,则发出您描述的警告。我希望时间框架能有所帮助。我也成功地将插件集成到我的应用程序中。我遇到的问题是,当应用程序处于后台/被杀死时,不会收到通知。我正在使用simplepush.php脚本来测试它(它的修改版本)。你是怎么处理这件事的?那件有什么事吗?似乎当一切都在后台时,一切都好了。当应用程序被杀死时,我的应用程序崩溃