默认
发表评论 2
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] ios后台时xmpp据说允许后台模式,咱们这个可以吗?
阅读(46349) | 评论(2 收藏1 淘帖 1
iOS开发遇到一个问题,进入后台时,长连接就断掉了,无法接收消息,只能通过APNs推送来搞定,但推送不保证送达率,查阅了吧主关于iOS后台的一些回答,又翻阅了一下别的解决办法,发现xmpp有一个后台模式,咱们这个在哪可以找到啊?
xmpp后台模式的链接:http://blog.csdn.net/tianyitianyi1/article/details/45098759
内容摘要:
结合苹果官方文档App Programming Guide里有关Background Execution and Multitasking的章节和satckoverflow对xmpp支持后台socket问题的解答,得出以下解决方法:
1.因为苹果只支持少数几咱类型的应用的代码可以在后台运行(例如:audio、location、voip等),所以需要在应用的(appname)-info.plist文件里,增加一个"Required background modes"的key,值设置为voip,来指定类型。
2.ios xmppframwork里已经有这方面的支持,只要初始化xmppstream时做下面设置即可:(原来前提还是得支持后台运行的,否则链接就立刻断开了)

  • //允许后台模式(注意ios模拟器上是不支持后台socket的)  
  • xmppStream.enableBackgroundingOnSocket = YES;


问题是:如果参考xmpp,咱们这个是否支持后台模式,若支持,怎么设置?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已解决] 基于MobileIMSDK写IM之添加好友功能实现的疑问下一篇:[已回复] MobileIMSDK服务端控制台不显示debug内容
推荐方案
评论 2
如果你要上架苹果的应用市场,那一定是要用到APNS的,这种旁门左道先不说ioS版本上的支持情况,而从官方的最佳实践来说是不允许也不可能的,在后台时,大家都是用的APNS来做。ios从发布到现在就是这样了,你现在考虑的问题,如果真的可行,这么多年过去了,那么一定会有大把的方案出来。

iOS留给VOIP应用的这个所谓的后台被叫推送机制,其实是希望能在iOS上利用VOIP做出打电话时的被叫效果,实际上包括Skype、Whatsapp在内,也都是这样实现,并不是给你用来做为IM后台推送用的。
记得用过融云,融云在退到后台,还是可以接受到消息回调。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部