PushKit:我们可以在聊天应用程序中使用推送套件(VoiP Push)而无需使用VoiP

时间:2016-03-23 11:12:28

标签: ios push-notification background-process pushkit

我希望在推送通知到来时将本地数据库与服务器同步,但我无法使用静默通知执行此操作,因为应用程序:didReceiveRemoteNotification:fetchCompletionHandler在用户杀死应用程序时未调用。所以,我不知道怎么做,然后我读了关于推套件但不知道是否可以使用没有VoiP功能的推套件。请告诉我是否有可能? 如果没有,建议我任何其他想法,当用户杀死app时,我将如何运行后台任务?

2 个答案:

答案 0 :(得分:2)

根据我和其他人的经验 - 您因尝试利用VOIP作为解决方法而遭到拒绝。请参阅下文,了解苹果处理类似attempt.

的实际回复

2.16:多任务应用程序只能将后台服务用于其预期目的:VoIP,音频播放,位置,任务完成,本地通知等。

2.16我们发现您的应用使用后台模式,但不包含要求该模式持续运行的功能。此行为不符合App Store审核指南。

我们注意到您的应用宣布在Info.plist中的UIBackgroundModes键中声明支持VoIP,但不提供任何IP语音服务。

我们认识到VoIP可以提供"保持活力"许多应用功能想要使用的功能。但是,以这种方式使用VoIP并不是VoIP的预期目的,如iOS应用程序编程指南中所示,它是:"互联网协议语音(VoIP)应用程序允许用户使用互联网连接,而不是设备的移动电话服务。"

答案 1 :(得分:0)

Seems that the only way to restart the app when it was killed by user is to use PushKit. It is possible to use PK framework in your app without Voip functionality, but I can't guarantee you, that your app will not be banned while posting to AppStore.