2017-03-08 81 views
1

我正在使用pushkit通知进行VOIP应用程序,但有时在设备被锁定时我没有收到任何通知。我的实施有问题吗?或者这可以正常发生?Pushkit通知有时未收到

编辑2017年4月5日:

我发现,您将收到通知VOIP只有一次,而设备处于节电模式。这可能是苹果的功能(我已经买了票,但没有任何反应,迄今)。你可以很好地尝试在Skype - 锁具,等待30分钟,拨打电话,等待30分钟后,再打电话,并没有收到任何电话

+0

没有任何代码,这是不可能的。但是,推送通知并非总是按照GCM文档和Apple文档中的说明进行传送。因此,服务器的工作是在失败时重试。谷歌的GCM自动完成,苹果的APNS不会。我不知道PushKit。 – Brandon

+0

那么如果这是如何在iOS上完成VOIP的唯一方式,那么它就没用了。一个通知等于一个通话,所以用户不会收到他们的电话 – Maleandr

+0

@Brandon,VOIP推送与常规推送不同。很显然,他们的交付无法得到保证(例如,如果设备处于飞行模式),但他们几乎保证交付。 – Gruntcakes

回答

1

Pushkit整合 - https://github.com/hasyapanchasara/PushKit_SilentPushNotification

斯威夫特 - https://github.com/hasyapanchasara/PushKit_SilentPushNotification/tree/master/PushDemo

目标C - https://github.com/hasyapanchasara/PushKit_SilentPushNotification/tree/master/Objective%20C%20Demo/PushKitDemoObjectiveC

Pushkit通知是在高优先级lways,它应该达到设备。

可能在您的应用程序处于后台或终止状态时,以某种方式在某个地方您的应用程序崩溃,所以由于此原因,pushkit通知已到达设备但不起作用。

尝试在didReceiveIncomingPushWithPayload

调度本地通知您还可以测试你的应用程序在后台或使用类似下面终止状态。

以终止状态调试pudhkit委托。

将调试指针放在委托方法上,转到编辑方案,选择运行选项,然后启动 - >等待可执行文件启动。从后端发送推送套件有效载荷,一旦您在设备上获得有效载荷,它将自动调用并调试指针将在委托方法中调用。

enter image description here

有快乐的编码。

+0

谢谢你,但是当设备未被锁定时,我收到推送通知没有问题。我把很多日志记录归档,所以我知道iPad没有收到任何通知。 – Maleandr