iOS環信3.0整合 (一)SDK的整合

來源:互聯網
上載者:User

iOS環信3.0整合 (一)SDK的整合
一、準備工作1、註冊環信帳號

註冊一個環信帳號之後,我們用註冊的帳號登陸。然後建立一個應用,會得到一個對應的AppKey,這個AppKey在初始化環信SDK的時候需要用到。

點擊查看註冊環信帳號教程

2、製作推送認證

如果需要做離線推送的功能,需要製作一個推送認證。如果只是需要實現單聊、群聊等功能,可以跳過此步驟。個人建議剛開始接觸環信的開發人員可以忽略此步驟。

點擊查看製作推送認證教程

3、下載環信SDK

點擊下載環信iOS版的SDK

 二、整合環信的SDK1、把環信SDK添加到工程中

從環信官網下載下來的是一個壓縮包,解壓之後,把我們需要的環信SDK,即HyphenateSDK這個檔案夾,整個的拖入到我們的工程中。如:

 

在lib檔案夾下面有兩個靜態庫,只需要用到一個,根據你的需求選擇。

 

libHyphenateSDK.a不包含即時語音功能,libHyphenateFullSDK.a包含所有功能。

2、添加對應的依賴庫

 

2.1. 向Build Phases → Link Binary With Libraries 中添加依賴庫

 

SDK依賴庫有

  • CoreMedi.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • MobileCoreServices.framework
  • ImageIO.framework
  • SystemConfiguration.framework
  • libc++.dylib
  • libresolv.dylib
  • libz.dylib
  • libstdc++.6.0.9.dylib
  • libsqlite3.dylib

    (如果使用的是xcode7,尾碼為tbd)

    SDK包含即時語音依賴庫有

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


      溫馨提示:注意不要添加錯了,也不能添加少了,添加完畢之後,不要著急,先編譯一下。編譯成功,則說明沒有問題;如果編譯報錯,則仔細對照上面例舉的靜態庫進行添加,直到編譯成功,再進行下一步。

      3、配置工程3.1 不包含語音靜態庫的配置方法

      (1) 刪掉libHyphenateFullSDK.a,保留libHyphenateSDK.a;
      (2) 在Build Settings -> Other Linker Flags 添加”fore_load”和”libHyphenateSDK.a”的相對路徑。

      如所示:

      3.2 包含語音靜態庫的配置方法

      (1) 刪掉libHyphenateSDK.a,保留libHyphenateFullSDK.a;
      (2) 在Build Settings -> Other Linker Flags 添加”-ObjC”。

      如所示:

      4、驗證SDK是否添加成功

      在AppDelegate.m檔案中添加環信SDK初始化的方法,記得添加標頭檔”EaseMob.h”。下面提供了我用的測試AppKey,你可以替換成你自己申請的AppKey。編譯成功,則說明你已經正確整合了環信的SDK了。

      如果編譯有問題,可能存在的原因:

      (1) 靜態庫沒有添加正確;
      (2) 靜態庫工程配置不正確;

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

          // Override point for customization after application launch.

          EMOptions *options = [EMOptions optionsWithAppkey:@"chongwu#chongwu"];

          //    options.apnsCertName = @"";

          [[EMClient sharedClient] initializeSDKWithOptions:options];

          

          EMError *error1 = [[EMClient sharedClient] registerWithUsername:@"easeuidemo" password:@"1"];

          if (error1==nil) {

              NSLog(@"註冊成功");

          }

          

          

       

          EMError *error2 = [[EMClient sharedClient] loginWithUsername:@"easeuidemo" password:@"1"];

          if (!error2) {

              NSLog(@"登陸成功");

          }

        
       

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.