28.簡單的環(huán)信單聊(用于商城聊天)

這里的集成是帶語音的

1.導(dǎo)入我整理過JoanKing環(huán)信整理文件 密碼: 29m8
2.在pch文件導(dǎo)入
  #ifdef __OBJC__
  /**
   *   環(huán)信的設(shè)置
   */
  #import "EMSDKFull.h"
  #import "EaseUI.h"
  #import "ChatViewController.h"

  #endif
3.導(dǎo)入庫

1.SDK 包含實(shí)時(shí)語音依賴庫有:

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

(如果使用的是 xcode7簿废,后綴為 tbd晴裹。)

第 2 步:SDK 不支持 bitcode煮纵,設(shè)置:Xcodeproj->Build Settings->Enable Bitcode 設(shè)置為 NO。

4.代碼配置

  • 1.先說AppDelegate.m里面

    /*
       環(huán)信
     */
    #import "EMSDK.h"
    

    下面的兩個(gè)變量你們需要注冊(cè)環(huán)信的開發(fā)者平臺(tái)賬號(hào),再創(chuàng)建應(yīng)用來獲取
    appkey:@"注冊(cè)相應(yīng)應(yīng)用的APPkey"
    apnsCertName:@"推送證書的名字"

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//AppKey:注冊(cè)的AppKey,詳細(xì)見下面注釋。
//apnsCertName:推送證書名(不需要加后綴),詳細(xì)見下面注釋积担。
EMOptions *options = [EMOptions optionsWithAppkey:@"注冊(cè)相應(yīng)應(yīng)用的APPkey"];
options.apnsCertName = @"推送證書的名字";
[[EMClient sharedClient] initializeSDKWithOptions:options];

//設(shè)置回調(diào)監(jiān)聽代理(設(shè)置自動(dòng)登錄之后才能在退出后臺(tái)進(jìn)行獲取聊天的列表)
[[EMClient sharedClient] addDelegate:self delegateQueue:nil];
BOOL isAutoLogin = [EMClient sharedClient].options.isAutoLogin;

if (isAutoLogin) {
    
    NSLog(@"123==重新登錄成功");
}

/*
 EaseUI的使用
 */
[[EaseSDKHelper shareHelper] hyphenateApplication:application
                    didFinishLaunchingWithOptions:launchOptions
                                           appkey:@"注冊(cè)相應(yīng)應(yīng)用的APPkey"
                                     apnsCertName:@"推送證書的名字"
                                      otherConfig:@{kSDKConfigEnableConsoleLogger:[NSNumber numberWithBool:YES]}];

//代碼注冊(cè)離線推送

//iOS8 注冊(cè)APNS
if ([application respondsToSelector:@selector(registerForRemoteNotifications)]) {
    [application registerForRemoteNotifications];
    UIUserNotificationType notificationTypes = UIUserNotificationTypeBadge |
    UIUserNotificationTypeSound |
    UIUserNotificationTypeAlert;
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:notificationTypes categories:nil];
    [application registerUserNotificationSettings:settings];
}
else{
    UIRemoteNotificationType notificationTypes = UIRemoteNotificationTypeBadge |
    UIRemoteNotificationTypeSound |
    UIRemoteNotificationTypeAlert;
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes];
}
   /*
    *  推送的方法: - (void)didReceiveMessages:(NSArray *)aMessages{}
    */
}

// 將得到的deviceToken傳給SDK
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

   /**
    *  環(huán)信的離線推送
    */
    [[EMClient sharedClient] bindDeviceToken:deviceToken];

}

// APP進(jìn)入后臺(tái)
 - (void)applicationDidEnterBackground:(UIApplication *)application
{
    [[EMClient sharedClient] applicationDidEnterBackground:application];
}

// APP將要從后臺(tái)返回
- (void)applicationWillEnterForeground:(UIApplication *)application
{
   [[EMClient sharedClient] applicationWillEnterForeground:application];
}
  • 2.注冊(cè)方法
   EMError *error = [[EMClient sharedClient] registerWithUsername:@"注冊(cè)的賬號(hào)" password:@"注冊(cè)的秘密"];
    if (error==nil)
    {
          NSLog(@"注冊(cè)成功");
    }
  • 3.登陸

     /**
      *   環(huán)信登陸成功才算成功
      */
     EMError *error = [[EMClient sharedClient] loginWithUsername:myId password:@"dft"];
          
     if (!error)
     {
          NSLog(@"登錄成功);
          //設(shè)置自動(dòng)登錄
          [[EMClient sharedClient].options setIsAutoLogin:YES];
          // 成功后跳轉(zhuǎn)頁面
       }
    
  • 4.與指定用戶進(jìn)行聊天

    導(dǎo)入#import "ChatViewController.h"
    #pragma mark  與個(gè)人的聊天
    -(void)clicKPerson
    {
         NSString *zy_id = @"62"; //以用戶名字來進(jìn)行聊天
    
       /*
        *  設(shè)置商家的單聊模式
        */
    
      ChatViewController *chatViewController = [[ChatViewController alloc]initWithConversationChatter:zy_id conversationType:EMConversationTypeChat];
    
      chatViewController.title =zy_id;
    
       [self.navigationController pushViewController:chatViewController animated:YES];
    }
    

5.獲取聊天列表(跳轉(zhuǎn)進(jìn)入)

#pragma mark  聊天列表的轉(zhuǎn)入
-(void)clicKchat{

  EaseConversationListViewController *easeConversationListViewController = [EaseConversationListViewController new];
  [self.navigationController pushViewController:easeConversationListViewController animated:YES];

 }
  • 到這里你就完成一個(gè)聊天的流程以及推送的功能

5.在此我再加一個(gè)用戶用其他手機(jī)登陸的提示按鈕(下次在寫),記得點(diǎn)喜歡哦!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市猬仁,隨后出現(xiàn)的幾起案子帝璧,更是在濱河造成了極大的恐慌,老刑警劉巖湿刽,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件的烁,死亡現(xiàn)場離奇詭異,居然都是意外死亡诈闺,警方通過查閱死者的電腦和手機(jī)渴庆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雅镊,“玉大人襟雷,你說我怎么就攤上這事∪逝耄” “怎么了耸弄?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長卓缰。 經(jīng)常有香客問我计呈,道長,這世上最難降的妖魔是什么僚饭? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任震叮,我火速辦了婚禮胧砰,結(jié)果婚禮上鳍鸵,老公的妹妹穿的比我還像新娘。我一直安慰自己尉间,他們只是感情好偿乖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哲嘲,像睡著了一般贪薪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眠副,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天画切,我揣著相機(jī)與錄音,去河邊找鬼囱怕。 笑死霍弹,一個(gè)胖子當(dāng)著我的面吹牛毫别,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播典格,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岛宦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了耍缴?” 一聲冷哼從身側(cè)響起砾肺,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎防嗡,沒想到半個(gè)月后变汪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚁趁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年疫衩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荣德。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闷煤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涮瞻,到底是詐尸還是另有隱情鲤拿,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布署咽,位于F島的核電站近顷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏宁否。R本人自食惡果不足惜窒升,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望慕匠。 院中可真熱鬧饱须,春花似錦、人聲如沸台谊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锅铅。三九已至酪呻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盐须,已是汗流浹背玩荠。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阶冈。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓屉凯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親眼溶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悠砚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容