美文网首页环信
iOS客户端集成环信3.0详解

iOS客户端集成环信3.0详解

作者: XRD_太原 | 来源:发表于2016-11-22 09:26 被阅读344次

    <h3>说明:</h3>
    集成的SDK版本 V3.2.1
    版本时间2016-11-12
    集成时间2016-11-21

    <h3>前提:</h3>
    观看视频,视频地址如下:
    环信SDK集成:http://www.imgeek.org/video/40
    环信EaseUI集成:http://www.imgeek.org/video/39
    <h3>具体集成过程:</h3>
    <h4>一: 添加依赖库</h4>

    1. CoreMedia.framework
    2. AudioToolbox.framework
    3. AVFoundation.framework
      4.MobileCoreServices.framework
    4. ImageIO.framework
    5. libc++.tbd
    6. libz.tbd
    7. libsqlite3.tbd
    8. libstdc++.6.0.9.tbd
    9. Foundation.framework
    10. libiconv.tbd (Xcode7以上)
      最终效果如图:


      这里写图片描述

    <h4>二:一些设置 </h4>
    1.修改info.plist文件,适配iOS9以上系统,在info.plist中添加

        <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
    

    2.修改info.plist文件,适配iOS10.0,在info.plist中添加

    为了调用相册,地理位置,话筒,照相机,通讯录

        <key>NSPhotoLibraryUsageDescription</key>
        <string>中华人需要使用相册服务获取照片</string>
        <key>NSCameraUsageDescription</key>
        <string>中华人需要使用照相机服务进行拍照获取照片</string>
        <key>NSContactsUsageDescription</key>
        <string>中华人需要使用通讯录服务进行好友邀请</string>
        <key>NSMicrophoneUsageDescription</key>
        <string>中华人需要使用话筒进行吐槽反馈信息</string>
        <key>NSLocationUsageDescription</key>
        <string>中华人需要使用定位服务来发送位置信息</string>
        <key>NSLocationWhenInUseUsageDescription</key>
        <string>中华人需要使用定位服务来发送位置信息</string>
    

    3.Bulid Setting 设置bitcode 为NO,如图:


    这里写图片描述

    4.新建pch文件,如图:


    这里写图片描述
    进行设置,如图:
    这里写图片描述

    <h4>三:Appdelegate</h4>

    #import "AppDelegate.h"
    #import "ChatViewController.h"
    
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        // SDK的初始化
        /**
         * EMOptions类是SDK的配置信息
         * 可以加入推送证书的名称
         */
        EMOptions *options = [EMOptions optionsWithAppkey:@"luoxiaoyong#mingxin"];
        options.apnsCertName = @"Push_dev";
        
        // 初始化SDK
        EMError *error = [[EMClient sharedClient] initializeSDKWithOptions:options];
        if (!error) {
            NSLog(@"初始化成功");
        }
        
        // 登录
        error = [[EMClient sharedClient] loginWithUsername:@"xrdaly001" password:@"123456"];
        
        if (!error) {
        
            NSLog(@"登录成功");
        }
        else {
        
            NSLog(@"登录失败");
        }
        
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        ChatViewController *vc = [[ChatViewController alloc] initWithConversationChatter:@"xrdaly002" conversationType:EMConversationTypeChat];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
        self.window.rootViewController = nav;
        
        [self.window makeKeyAndVisible];
        
        return YES;
    }
    

    <h4>四:添加键盘表情(说明)</h4>

    在EaseMessageViewController.m的viewDidLoad方法结尾处加上

    EaseEmotionManager * manager = [[EaseEmotionManager alloc] initWithType:EMEmotionDefault emotionRow:3 emotionCol:7 emotions:[EaseEmoji allEmoji]];
    [self.faceView setEmotionManagers:@[manager]];
    

    <h4>五:国际化文件乱码问题</h4>
    下载demo,直接把demo中的国际化文件拷贝到现在项目中,ok

    以上就是实现环信单聊的全部过程,,如有任何疑问欢迎加Q:714700382,我们共同讨论,共同进步

    相关文章

      网友评论

      • 好棒大大:demo 来一发亲爱的 526121793@qq.com
      • imGeek:很棒,赞一个!
        XRD_太原:@喵喵i 额,发表文章简书和csdn用的同样的编辑器markdown,在imGeek上还需要重新排版,不准备弄了,直接把地址一丢完事。
        imGeek:@IOS猿程序 可以再imgeek社区也发一份http://www.imgeek.org/
        会被收录到环信开发者周刊http://www.easemob.com/weekly
        XRD_太原:@喵喵i 嘿嘿,会再接再厉
      • 贺乾龙:这就没了?
        XRD_太原:@贺乾龙 该文实现了单聊功能,后续会更新文章,集成更多功能以及设计界面,而且会在gitHub上传demo,敬请期待
      • XRD_太原::kissing_heart:自己给自己打赏了2元

      本文标题:iOS客户端集成环信3.0详解

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