仿微信基本功能。

基于XMPPserver的即时通信以及交友client。

----第一期代码的功能例如以下---- 



    1.新用户注冊 



    2.登陆并连接XMPPserver 握手 保持在线 



    2.查找最新注冊用户:(下拉刷新 上拉翻页。做的比較匆忙,没操作提示) 



    3.点击某个用户就可以对他发送消息(聊天记录下一期更新) 



    4.首页显示收到的和发送的全部消息(排序和分组下一期更新) 



    ----第二期更新内容---- 



    1.修复了注冊延时时间,加入了切换账号功能,修复了输入框适配问题 



    2.微信页面和聊天页面界面已基本重做 。首页消息按联系人分组按时间逆序显示。聊天气泡有待优化,收发消息所有採用 NSNotifaction 不用操心消息发了页面不刷新。自己主动滚到最新一条。

键盘监听效果更加友好,採用TableViewInset来错位。 



    3.加入好友功能,加入完后能够在好友列表查看到,若是在是注冊的太早要翻非常久,或者新注冊用户刷新不出来,能够通过webview直接加入,可是需到控制台查看互相的ID 



    4.User对象和Message对象採用FMDB+类java的Dao模式用静态方法固化,而且有个开发人员自己写的对象to字典、字典to对象的两个超好用的方法,大家值得一看!

5.删除了XMPPManager单例中的一些废话和临时用不着的内容。加入了非常多凝视。大家能够细细品读。

----第三期更新内容---- 



    1. 增加离线图片的发送接收支持; 



    2. 优化了输入框。并以自己定义输入面板的形式实现了shareMore(分享很多其它); 



    3. 发送图片的两种模式均以实现 ,通过http上传至server再转发URL(已凝视掉),通过base64码直接编码图片再解码,均支持离线收发。 



    因为作者没有做屏幕适配,所以请在Retina 4-inch模拟器或者iPhone5中执行代码。 



    ----第四期代码的功能例如以下---- 



    1. 修复绝大部分bug 



    2. ios7体验更佳 



    3. 图片/文字畅聊不闪退 



    4. 支持按昵称模糊搜索。找到朋友更easy 



    5. 修复了域名丢失引起的连接失败问题,如今server24小时确保能连接 



    6. 更准确的提示信息。更好的用户体验 



    PS: 1~3期的用户数据已清除,如需尝试请又一次注冊 



     



    作者说:这次给大家带来的demo我已经写好了server端,也配置好了openfireserver,大家假设想执行的话先确定server是否开启(APIport8080,openfireport5225)。ping一下 www.hcios.com 假设未开启请QQ,一般开启时间为9:00~18:00



    预计网上再也找不到比我写的这个更好的XMPP Demo了,上传此demo的目的为给很多其它的朋友了解即时通讯技术,在您看的爽的同一时候,请同意我要求您不要用此demo以商业用途传播 ,谢谢。

源代码下载:http://code.662p.com/view/5849.html

<ignore_js_op> 

<ignore_js_op> 

<ignore_js_op>

具体说明:http://ios.662p.com/thread-1073-1-1.html

仿ios版微信应用源代码的更多相关文章

  1. 仿PC版微信的练手项目(可实时通讯)

    仿PC版微信的DEMO 本项目是由一个仿PC版微信的vue前端项目,和一个使用leancloud进行数据存储的.提供WebSocket的node后端项目构成. 本项目使用的技术栈:vue + vue- ...

  2. 腾讯微信被怼,iOS版微信不能打赏了

    2017年4月19日,估计很多有着大量粉丝的微信自媒体作者会感到很不爽,因为他们的苹果粉丝再也无法很爽快地.肆意.任性地打赏他们了,按目前iphone手机的占有率,估计打赏率会掉一半以上. 据微信派微 ...

  3. iOS版微信6.5.21发布 适配iPhone X

    昨日,iOS版微信迎来v6.5.21正式版发布,本次升级主要适配iPhone X,在聊天中查找聊天内容时,可以查找交易消息.可以给聊天中的消息设置日期提醒.上一个正式版v6.5.16发布于9月13日, ...

  4. 微信团队分享:iOS版微信的高性能通用key-value组件技术实践

    本文来自微信开发团队guoling的技术分享. 1.前言 本文要分享的是iOS版微信内部正在推广和使用的一个高性能通用key-value 组件的技术实践过程,该组件在微信内部被命名为MMKV(以下简称 ...

  5. 微信团队分享:iOS版微信是如何防止特殊字符导致的炸群、APP崩溃的?

    本文来自微信开发团队yanyang的技术分享. 1.引言 相信大家都遇到过一段特殊文本可以让iOS设备所有app闪退的经历.前段时间大年初一,又出现某个印度语字符引起iOS11系统奔溃,所幸iOS版微 ...

  6. 微信团队原创分享:iOS版微信的内存监控系统技术实践

    本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...

  7. 微信团队分享:极致优化,iOS版微信编译速度3倍提升的实践总结

    1.引言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了. 记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶 ...

  8. 解决alert在ios版微信中显示url的问题(重写alert)

    为了解决alert在ios版微信中显示url的问题 window.alert = function(name){ var iframe = document.createElement("I ...

  9. react-native自定义Modal模态框|仿ios、微信弹窗RN版

    前序 纵观每个优质项目,无论web端还是native原生应用开发,弹窗都是不可忽视的一环,能很大程度上直接决定用户体验.如:微信.支付宝.ios都有很成熟的一套弹窗UI展示场景. 最近一直沉迷在rea ...

随机推荐

  1. C# 窗体在线2,8,16进制转换以及,在线更新时间

    class Program { static void Main(string[] args) { //十进制转二进制 Console.WriteLine(, )); //十进制转八进制 Consol ...

  2. KeyValuePair用法(转)

    转载自:http://blog.sina.com.cn/s/blog_9741eba801016w61.html C# KeyValuePair<TKey,TValue>的用法.结构体,定 ...

  3. html+css实现图片的层布局

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. java--创建多线程两种方法的比较

    [通过继承Thread] 一个Thread对象只能创建一个线程,即使它调用多次的.start()也会只运行一个的线程. [看下面的代码 & 输出结果] package Test; class ...

  5. Qt持久性对象进行序列化(同时比较了MFC与Java的方法)

    Mfc和Java中自定义类的对象都可以对其进行持久性保存,Qt持久性对象进行序列化当然也是必不可少的.不过这个问题还真困扰了我很长时间……Mfc通过重写虚函数Serialize().Java则是所属的 ...

  6. EditText 软键盘

    EditText 软键盘 package brother.eighteen.demoedittext; import android.content.Context; import android.t ...

  7. oracle事务和锁(转)

    If you use a SET TRANSACTION statement, then it must be the first statement in your transaction. How ...

  8. CSS简介和CSS选择器

    <pre name="code" class="html">Css 简洁 css 选择器 标签选择器 类选择器 ID选择器 Css 层叠样式表 Ca ...

  9. ConcurrentModificationException异常解决办法

    今天在写一个带缓存功能的访问代理程序时出现了java.util.ConcurrentModificationException异常,因为该异常是非捕获型异常而且很少见,所以费了些时间才找到问题所在,原 ...

  10. 数学之路-python计算实战(15)-机器视觉-滤波去噪(归一化块滤波)

    # -*- coding: utf-8 -*- #code:myhaspl@myhaspl.com #归一化块滤波 import cv2 import numpy as np fn="tes ...