swift导入环信SDK和EaseUI

2016-09-03  本文已影响1915人  cry_0416

http://downloads.easemob.com/downloads/ios_IM_sdk_V3.1.5.zip

这个连接里面少了个Resource文件- -,具体我也找不到在哪可以下了

一.新建一个swift项目,第一件事就是建一个oc文件,中间提示建briding-header文件

在桥文件中写入:

#import "EMSDK.h"
#import "EaseUI.h"

二.导入EaseUI和HyphenateSDK(我用的是不含实时语音)

三.导入所需要的静态库, 此版本不包含实时语音。向Build Phases → Link Binary With Libraries 中添加依赖库

libsqlite3.tbd
libstdc++.6.0.9.tbd
libz.tbd
libc++.tbd
ImageIO.framework
MobileCoreServices.framework
AVFoundation.framework
AudioToolbox.framework
CoreMedia.framework

四.将prefix文件加到指定位置


#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import "EMSDK.h"
    #import "EaseUI.h" 
#endif
//找到修改prefix header的位置

Build Settings - Apple LLVM 7.1 - Language - Prefix Header中

或者直接在Build Settings 搜索Prefix Header

把prefix文件直接拖入,或者写入prefix文件的绝对路径

这时候运行还是有问题的

五.修改bitcode

SDK 不支持 bitcode
 Build Settings → Linking → Enable Bitcode 中设置 NO。

到这里应该能正常运行了

------更新------

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

------9/3更新------

思路: 实现EaseMessageViewController的协议EaseMessageViewControllerDataSource里的一个方法


func messageViewController(viewController: EaseMessageViewController!, modelForMessage message: EMMessage!) -> IMessageModel! {
    let model:IMessageModel = EaseMessageModel(message: message)
 //这里写代码
//model的avatarImage属性,可以设置为本地图片为头像
//model的avatarURLPath属性,通过URL设置头像
//model的nickname属性,设置昵称
***这里是修改全部的,要自行判断message是否来源自己的进行设置***
    return model
}

   override func viewDidLoad() {
        super.viewDidLoad()
        self.dataSource = self
    }

------9/4AM------

八.显示头像和昵称

通过消息拓展发送头像URL和昵称

- (void)sendTextMessage:(NSString *)text
{
      //将NSDictionary *ext = nil修改成
      NSDictionary *ext = @{@"accountName":@"oldDriver",@"img":@"http://ww4.sinaimg.cn/bmiddle/005Kg81Agw1f7gel4rm4oj30hs0hst9j.jpg"};
}

将个人名称与头像url通过消息发送出去

-(instancetype)initWithMessage:(EMMessage *)message
{
    //修改_nickname(昵称) 和 _avatarURLPath(头像URL)
        if (message.ext[@"accountName"]){
            _nickname = message.ext[@"accountName"];
        }
        _avatarURLPath = message.ext[@"img"];
}

但是,有个问题,这是这是根据每条消息附带的头像url和昵称显示的,如果修改了昵称或者头像,则同一个人发送的显示不同昵称或者头像

------To be continue-------

上一篇下一篇

猜你喜欢

热点阅读