(七十四)iOS8之前使socket可以后台运行的方法

对于使用socket通信的应用程序,常常希望App位于后台时仍然可以进行网络通信,这在iOS8和以后的版本是被默认允许的,socket可以直接在后台运行,而对于iOS8之前的版本就不行,需要进行两步设置使得socket后台运行。

这里以XMPP的socket为例,为了实现后台接收到消息后发送推送通知,需要以下两步设置:

①打开info.plist,添加下面的键值对:

Required background modes = App provides Voice over IP services

②配置XMPPStream的enableBackgroundingOnSocket属性为YES:

_xmppStream.enableBackgroundingOnSocket = YES;

需要注意的是,在iOS7模拟器上,这样设置完后仍然不能实现socket后台运行,这是模拟器的BUG,在真机上可以实现。


原文地址:https://www.cnblogs.com/aiwz/p/6154134.html