项目地址:https://github.com/hellozhuzi/HappyChat
项目构思:集成环信实现即时通讯,再加一些自己的功能(阅读、视听)
(一)集成环信
参考官方文档 http://docs.easemob.com/im/start
1、注册开发者账号 http://docs.easemob.com/im/000quickstart/10register
2、下载环信sdk,这个sdk中已经有一个可以运行的demo+sdk
3、然后你以为看了sdk的集成文档,就可以爽了吗???大错特错。sdk只是核心接口,不太好使,要做出一个可以聊天的,还是要参考demo。所以我的策略是将整个demo copy进我的项目中,然后修改。
(二)demo上定制
1、编译官方demo:环信sdk中的 ChatDemo-UI3.0 demo单独拷贝出来,尝试编译。拷贝出来后,会发现库文件丢失,需要将EaseUI、HyphenateFullSDK拷贝进来。
2、修改包名字 InfoPlist.string中CFBundleDisplayName
,中英文都需要修改
3、启动界面 demo名字,Localizable.string 文件中"AppName" 字段
4、APPID设置 ,Appdelegate.m #define EaseMobAppKey @"XXXX#XXX"
————————————————————————————————
上面的这些设置让你的这个工程看起来已经是你自己的了。
然后除了这几个基础页面,我们可以给他新增页面,丰富软件功能
5、新增页面
MainViewController.m
-setupSubviews :此函数增加新页面、tabbar图标
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item :配置每个页面的title
然后写自己的页面就是自己的事情了
(三)问题解决
1、想改project的名字,这个太惨了,软件整个挂了,启动后也不能构建。----》论备份的重要性。后面没办法,只能新建工程了
2、添加自己的页面后,整个工程编译不过。----》第三库的文件编译错误。。这个是因为demo中本身有一些第三方的库(MJ刷新之类的)了,你的页面加第三方库,可能会重复
3、编译失败,提示库文件丢失.这个非常痛苦
ld: library not found for -lopencore-amrwb
先project->general->linked frameworks and Libraries
找“ -lopencore-amrwb” 哈哈,找不到。。其实是对应libopencore-amrwb
右击reveal in project navigator,看下在哪个文件夹。原来是对应EMUIkit这个文件夹。反正就这个有病,文件明明存在。
在 project->general->linked frameworks and Libraries 将这个库删除重新加并不好使
绝招:将左边工程目录中的EMUIkit 整个文件夹全部删除(只能删除参考,不能删除到垃圾篓)(我猜linked frameworks and Libraries会自动更新,这边也会删除相关索引)。然后再将EMUIkit 整个文件夹 加进来,好使了