当推送通知到来时,我想将我的本地数据库与服务器同步,但我无法使用静默通知来做到这一点,因为应用程序:didReceiveRemoteNotification:fetchCompletionHandler 在应用程序被用户杀死时未调用。所以,我不知道该怎么做,然后我阅读了推送套件,但不知道是否可以使用没有 VoiP 功能的推送套件。请问有没有可能??如果没有,请建议我任何其他想法,当应用程序被用户杀死时我将如何运行后台任务?
问问题
1303 次
2 回答
3
根据我和其他人的经验,您因尝试利用 VOIP 作为解决方法而被拒绝。有关苹果处理类似尝试的实际回应,请参见下文。
2.16:多任务应用程序只能将后台服务用于其预期目的:VoIP、音频播放、位置、任务完成、本地通知等。
2.16 我们发现您的应用使用后台模式,但不包含需要该模式持续运行的功能。此行为不符合 App Store 审核指南。
我们注意到您的应用在 Info.plist 的 UIBackgroundModes 键中声明支持 VoIP,但不提供任何 IP 语音服务。
我们认识到 VoIP 可以提供许多应用程序功能想要使用的“保持活力”功能。但是,以这种方式使用 VoIP 并不是 VoIP 的预期目的,正如 iOS 应用程序编程指南中所指出的那样:“互联网协议语音 (VoIP) 应用程序允许用户使用互联网连接拨打电话而不是设备的蜂窝服务。”
于 2017-07-31T15:48:26.340 回答
0
似乎在被用户杀死时重新启动应用程序的唯一方法是使用 PushKit。可以在没有 Voip 功能的情况下在您的应用程序中使用 PK 框架,但我不能向您保证,您的应用程序在发布到 AppStore 时不会被禁止。
于 2016-04-04T17:39:14.040 回答