XMPP总结-UI进阶-00

  1 六、微信项目(ipad/iphone版本) ios7
  2 
  3 1.创建项目,用git版控制
  4 2.导入xmppframwork框架
  5 3.导入APPICON 启动图片
  6 4.简单的做下登录界面(iphone / ipad 适配)
  7 5.实现登录
  8 (a) 登录成功之后,来主界面
  9 (b) 登录失败要提示
 10 
 11 "当Openfire后台登录不了,然后客户端也登录了,但是服务器确实是开始状态,原因是mac版openfire不太稳定"
 12 
 13 如果在公司开发中 使用的openfire是linux版
 14 
 15 解决办法
 16 删除Openfire 重新安装
 17 
 18 "怎么删除"
 19 step1:打开命令行,切换到 "xmpp ▸ 资源 ▸ 删除xmpp环境"目录
 20 step2:执行命令 "sudo ./deleteOpenfire"
 21 
 22 "【登录细节】"
 23 》如果用户注销后,回来登陆界面,直接显示上次登录过的帐号
 24 把用户数据保存沙盒
 25 "什么情况下才需要把数据保存到沙盒,用户登录成功后"
 26 
 27 启动程序的时候,再从沙盒获取数据
 28 
 29 》用户登录成功后,如果关闭APP,重新起动程序,如果没有注销,直接来到主界面
 30 1》记录下登录状态
 31 
 32 》如果用户登录过,重新启动程序时候,自动登录到服务器
 33 
 34 
 35 6.注册
 36 》要提示
 37 》注册成功后,回到上一个页面,上一个页面的用户label是显示注册的用户名
 38 》提示,请重新输入密码进行登录
 39 
 40 "为什么把所有的xmpp操作,eg。登录、注册、注销放在appDelegate里面?"
 41 原因:因为跟服务器交互的类XMPPStream,这个类在整个程序运行过程中,只有要一个实例(对象)
 42 所以:把xmppStream这个对象放在某一个地方,给其它所有的控制获取到(共享)
 43 
 44 
 45 "打开XMPP日志"
 46 
 47 
 48 
 49 
 50 
 51 7.实现主界面
 52 
 53 
 54 8.获取个人信息(头像、电话、邮箱....)
 55 获取个人信息 在xmpp里面,称为"电子名片信息"
 56 
 57 》添加电子名片模块
 58 》一般电子模块配合头像模块使用
 59 》怎么从sqlite里获取个人信息
 60 '使用电子名片模块的一个属性myvCardTemp'
 61 
 62 》怎么更新个人信息
 63 '使用电子名片模块的一个方法updateMyvCardTemp'
 64 
 65 
 66 "如何Spark不能使用,安装资源里JavaForOSX2014-001.dmg文件就可以了"
 67 
 68 
 69 "安装Subline xml格式化"
 70 { "keys": ["ctrl+shift+x"], "command": "tidy_xml" },
 71 //command + shift+x
 72 
 73 
 74 "【模块开发】"
 75 xmpp里的开发基本上是基于模块开发
 76 》电子名片模块
 77 》头像模块
 78 》自动连接模块
 79 
 80 
 81 9.获取好友列表 添加添加好友 删除好
 82 "花名册模块"
 83 
 84 10.发送聊天消息
 85 "消息模块"
 86 添加消息模块-如果接收到好友发来的聊天数据,把聊天数据放在本地一个数据库
 87 
 88 "添加模块的步骤"
 89 1》打开模块的头部文件
 90 2》创建模块对象
 91 3》激活模块
 92 4》在delealloc里做模块对象销毁
 93 
 94 
 95 11.实现文件传输(二进制 NSData)
 96 发送图片
 97 发送音频
 98 发送文档doc text
 99 
100 
101 12.自己解析电子名片未解析的字段
102 "邮件"
103 
104 13.自动登录提示
105 
106 14.程序登录到后台,聊天信息通知
107 
108 在ios8以前,不包括ios8,socket 是不支持后台运行
109 
110 a>在ios7要做配置info.plist文件
111 添加 Required background modes = voip; //使用soket在后台运行
112 b> 添加_xmppStream.enableBackgroundingOnSocket = YES;代码
113 c> 真机上才可能看见本通知效果
114 
115 
116 
117 XMPP总结
118 XMPP 是一个即时通讯的传输协议 传输入的数据都xml
119 基本模块开发
120 
121 自动连接模块 //网络不稳定 断线的时候, 自动连接服务器
122 电子名片模块 //获取个人信息 保存到数据库
123 头像模块 //获取头像的图片
124 花名册模块 //获取好友列表 保存到数据库
125 消息模块 //接收到到聊天消息 保存到数据库
126 
127 XMPP是通知Socket开发,也是基于TCP协议
128 XMPP 跟服务交互的核心类XMPPStream
129 XMPPStream 里面有个CGDAsynSocket对象
130 
131 CGDAsynSocket 有C语言的CFReadStreamRef CFWriteStream输入输出流
132 
133 //辛辛苦苦搭建xmpp环境
134 //删除xmpp环境
135 //执行一个命令
136 sudo ./deleteAll
时光见证了成长,还很无知,我想一点点幼稚转为有知!
原文地址:https://www.cnblogs.com/foreveriOS/p/5410322.html