环信基础聊天集成

在做前端开发过程中难免会遇到聊天功能的开发,我在这里给大家分享一下我用环信集成基础聊天功能的一些心得和注意点。
在集成聊天功能的时候首先的准备工作是首先在环信官网注册账号,然后按照官方文档创建一个项目,要记住自己这个项目的appkey,在后面的集成中要用到。
后面就是推送证书的创建了(如果不需要离线推送消息可不必创建)推送证书的具体步骤:

  1. 打开[苹果开发者网站]


    环信基础聊天集成_第1张图片
    7AF81C34-5AEF-4CF3-B3F2-7E4BF76A85A1.jpg

    step2. 从Member Center进入Certificates, Identifiers & Profiles


    环信基础聊天集成_第2张图片

    step3. 选择要制作的推送证书
    环信基础聊天集成_第3张图片

    对于开发环境(sandbox)的推送证书, 请选择 Apple Push Notification service SSL (Sandbox)
    对于生产环境(production)的推送证书, 请选择 Apple Push Notification service SSL (Production)
    step4. 选择对应的APP ID (环信示例使用ChatDemoUI, 所以此处选择com.easemob.enterprise.demo.ui)


    环信基础聊天集成_第4张图片

    step5. 根据Certificate Assistant的提示, 创建Certificate Request
    环信基础聊天集成_第5张图片

    step6. 上传上一步中创建的Certificate Request文件
    环信基础聊天集成_第6张图片

    step7. 上传完毕后, 推送证书就被正确生成了, 之后我们下载下来这个证书, 并双击导入系统
    环信基础聊天集成_第7张图片

上传推送证书
step1. 打开Application –> Utilities –> Keychain Access应用, 我们会看到有刚刚我们制作好的推送证书

环信基础聊天集成_第8张图片

step2. 选中证书对应的私钥(或者展开后选中证书), 点右键, 选择导出, 并设定密码 (本步导出的证书使用的电脑务必与制作证书时step5中使用的是一台电脑。)
环信基础聊天集成_第9张图片

step3. 登陆环信管理后台
环信基础聊天集成_第10张图片

step4. 输入了正确的账号后, 选择对应的APP(环信示例为ChatDemoUI, 点击ChatDemoUI)
环信基础聊天集成_第11张图片

step5. 填写的证书名称
这个名称是个有意义的名字, 对推送直接相关, 稍后会在源码的修改里继续用到这个名字. 上传之前导出的P12文件, 密码则为此P12文件的密码, 证书类型请根据具体情况选择
(创建的是Apple Push Notification service SSL Sandbox请选择开发环境; Apple Push Notification service SSL Production请选择生产环境),
step6. 上传
环信基础聊天集成_第12张图片

请注意正确选择是生产环境还是测试环境的证书(我选的是开发环境,如果报错就选择生产环境)
集成SDK
集成SDK有两种方法,一种是用cocoaPods直接下载到自己的项目,一种是从官网下载SDK然后自己导入,不管哪种都需要导入第三方依赖库:

  1. 导入SDK
    将下载好的SDK文件夹(EaseMobSDK)拖入到项目中,并勾选上Destination


    环信基础聊天集成_第13张图片
  2. 设置工程属性
    2.1. 向Build Phases → Link Binary With Libraries 中添加依赖库
    环信基础聊天集成_第14张图片
    iOS_AddFramework icon

    SDK依赖库有
    MobileCoreServices.framework
    CFNetwork.framework
    libEaseMobClientSDKLite.a
    libsqlite3.dylib
    libstdc++.6.0.9.dylib
    libz.dylib
    libiconv.dylib
    libresolv.dylib
    libxml2.dylib
    (如果使用的是xcode7,后缀为tbd)
    2.2. 向Build Settings → Linking → Other Linker Flags 中 添加-ObjC(注意大小写)
    环信基础聊天集成_第15张图片
    iOS_OtherLinker icon

    2.3. 如果项目中使用-ObjC有冲突,可以添加-force_load来解决。
    格式为: -force_load[空格]EaseMobSDK/lib/libEaseMobClientSDKLite.a(静态库的路径)(导入SDK过后会自动添加,如果没有就需要手动添加了,路径在EaseMobSDK-->lib中)。
    step1. 先添加一个-force_load
环信基础聊天集成_第16张图片

step2. 将静态库拖动到上一步添加的-force_load下面

环信基础聊天集成_第17张图片

step3. 最终效果

环信基础聊天集成_第18张图片

编译工程
以上步骤进行完后,编译工程,如果没有报错,恭喜你,集成sdk成功,可以进行下一步了。
我们集成聊天功能的时候很多东西其实都不用我们动手,例如聊天页面等,我们可以直接从demo中拖过来,如果有不如意的地方,可以根据自己的喜好适当修改,下面我就说一下需要从环信3.0中搜索下面文件直接导入:

环信基础聊天集成_第19张图片
319BAD3B-1966-4E27-ABB8-24556D51BFA3.jpg

编译过后会报错如下图:


环信基础聊天集成_第20张图片
95449911-4BAC-4841-B5ED-7AEBAEDC70D2.jpg

这是因为没有导入EaseUI头文件导致的,在这里我们可以创建一个PCH文件(注意配置路径在


环信基础聊天集成_第21张图片
8565D69F-8740-4F74-9A15-B8467FE33BFA.jpg


在pch文件中导入EaseUI.h头文件,编译成功。但是有可能出现报错这里介绍两种常见的报错

第一种:


环信基础聊天集成_第22张图片
A0688AC5-BEBC-43D7-AF9F-0D1FDCCB9E10.jpg

这种报错解决办法是在环信3.0的demo中导入FixFopen.c文件即可,如果仍然报错那么在自己的pch文件中加入如下代码即可:
环信基础聊天集成_第23张图片
E18E513C-010A-47C3-957E-28DA14C8B033.jpg

第二种属于第三方库的冲突报错,这种的话可以将环信中的第三方删除,其中需要注意的两个第三方库是EMSDWebImage这是环信自己加了前缀,删除这个第三方库过后要在相应的代码中删除EM前缀删除;
第二个是MJRefresh使用的是老版本的,在新版本中一些老的方法已经删除,所以只能用EaseUI中的MJRefresh,后期环信应该会更新的。
下面就是,用户的登录和注册了。这个由于我只是搭建的简单的基础聊天功能,我将这段代码写在appdelegate里面的,废话不多说,直接上图吧:
环信基础聊天集成_第24张图片
B9F69B3B-9D42-4786-8458-FBEBEB077B98.jpg

注释中间有说明如何聊天。

现在最主要的就是如何才能实现聊天界面的配置了,其实也是相当简单的,下面我们说说具体是怎么做的吧!!!其实聊天界面在我们刚才导入的EaseUI中就已经搭建好了,我们只需要跳转过去就行了

环信基础聊天集成_第25张图片
6FFA2C8B-8E69-4ED5-825F-AFC0A0348EAD.jpg

这里我用的是button跳转,具体代码图片上面都有,下面给你们看下效果图吧!!!

环信基础聊天集成_第26张图片
Simulator Screen Shot 2016年4月11日 下午1.28.56.png
环信基础聊天集成_第27张图片
Simulator Screen Shot 2016年4月11日 下午1.29.09.png

到此为止我们集成基础聊天功能就结束了,有什么不明白的和技术问题可以参考环信官方文档和在线咨询。

你可能感兴趣的:(环信基础聊天集成)