在XMPP中以后台模式工作
问题描述:
我正在使用XMPP。 我想在后台模式下获取通知。 我实现这个事也,在XMPP中以后台模式工作
- (void)xmppStream:(XMPPStream *)sender socketWillConnect:(GCDAsyncSocket *)socket
{
// Tell the socket to stay around if the app goes to the background (only works on apps with the VoIP background flag set)
[socket performBlock:^{
[socket enableBackgroundingOnSocket];
}];
}
在我的代码设置VOIP标志应用plist文件的背景模式。在这种模式下,我的应用程序可以完全在后台运行。 但苹果拒绝这种方式。
所以。我认为其他方式是APNS(推送通知),但在我的应用程序巨大的聊天用户,那么如何处理使用推送通知的消息?
还有一件事我可以在后台模式下设置无声音频文件播放并设置后台模式工作? 以这种方式从苹果方面的任何问题或regection问题?
所以,给我一些适当的想法和建议对于这个问题。
感谢x提前。
答
还有一件事我可以在后台模式下设置无声音频文件播放并设置后台模式工作?这样从苹果方面的任何问题或拒绝问题?
这样苹果拒绝了应用程序。
要通知使用有关接收到的消息,您必须使用本地通知作为App的后台和前台状态,并使用推送通知不运行App的状态。
为了达到您的目的,任何背景模式都不是解决方案。
答
如何使用推送通知来处理消息?
您需要检查用户是否连接到XMPP服务器。如果用户连接到XMPP,请通过XMPP消息传递进行操作,如果用户未连接到XMPP,请发送推送通知,以帮助用户在线显示并接收消息。
还有一件事我可以在后台模式下设置无声音频文件播放并设置后台模式工作?这样从苹果方面的任何问题或拒绝问题?
是苹果将拒绝应用程序(意在欺骗苹果)
答
当你的应用背景/杀了,到时候发送web服务的服务器,可以告诉我们 - 你是脱机。
然后服务器可以发送你推送通知所有聊天内容。
但VOIP标志被拒绝来自苹果端 –
如果您不使用SIP拨号功能 –
意味着您不需要设置voip标志?仅从XMPP设置Localnotification –