美文网首页
iOS知识点总结——XMPP 知识点

iOS知识点总结——XMPP 知识点

作者: dibadalu | 来源:发表于2015-12-10 16:29 被阅读237次

    XMPP的使用可以参考 上帝说:要约炮!于是有了XMPP by 作者 伯恩的遗产

    1. iOS8之后,应用需要注册应用,获得用户授权,才能接受本地通知。
      关键代码如下:
    if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
            UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil];
            [[UIApplication sharedApplication] registerUserNotificationSettings:setting];
        }
    
    1. 在iOS7以及iOS7之前,socket是不支持后台运行(被挂起了),需要在plist做配置(属性:Required background modes),如下:
    plist文件

    还需要在代码里设置socket在后台运行的BOOL值为YES,参考如下:

        _xmppStream.enableBackgroundingOnSocket = YES;
    

    此时真机上socket已经可以后台运行了,但是模拟器没法后台运行。

    3.XMPP总结

    • 1.XMPP是一个即时通讯的传输协议,传输的数据格式是xml格式
    • 2.XMPP是通过Socket开发的,基于TCP/IP协议, 跟服务器交互的核心类是XMPPStream类。XMPPStream里面有个GCDAsynSocket对象,对C语言的CFReadStreamRef(输入流)、CFWriteStreamRef(输出流)进行了封装。
    • 3.XMPP是基于模块开发的,eg:
      自动连接模块XMPPReconnect 、
      电子名片模块XMPPvCardTempModule、
      头像模块XMPPvCardAvatarModule、
      花名册模块XMPPRoster、
      消息模块XMPPMessageArchiving,
      在使用以上模块有时候需要配合其对应的CoreData数据存储模块使用。

    相关文章

      网友评论

          本文标题:iOS知识点总结——XMPP 知识点

          本文链接:https://www.haomeiwen.com/subject/dplyhttx.html