注冊一個環信賬號之後,我們用注冊的帳號登陸。然後創建一個應用,會得到一個對應的AppKey,這個AppKey在初始化環信SDK的時候需要用到。
點擊查看注冊環信帳號教程
如果需要做離線推送的功能,需要制作一個推送證書。如果只是需要實現單聊、群聊等功能,可以跳過此步驟。個人建議剛開始接觸環信的開發者可以忽略此步驟。
點擊查看制作推送證書教程
點擊下載環信iOS版的SDK
從環信官網下載下來的是一個壓縮包,解壓之後,把我們需要的環信SDK,即HyphenateSDK這個文件夾,整個的拖入到我們的工程中。如下圖:
在lib文件夾下面有兩個靜態庫,只需要用到一個,根據你的需求選擇。
libHyphenateSDK.a不包含實時語音功能,libHyphenateFullSDK.a包含所有功能。
2.1. 向Build Phases → Link Binary With Libraries 中添加依賴庫
SDK依賴庫有
(如果使用的是xcode7,後綴為tbd)
SDK包含實時語音依賴庫有
溫馨提示:注意不要添加錯了,也不能添加少了,添加完畢之後,不要著急,先編譯一下。編譯成功,則說明沒有問題;如果編譯報錯,則仔細對照上面例舉的靜態庫進行添加,直到編譯成功,再進行下一步。
(1) 刪掉libHyphenateFullSDK.a,保留libHyphenateSDK.a;
(2) 在Build Settings -> Other Linker Flags 添加”fore_load”和”libHyphenateSDK.a”的相對路徑。
如下圖所示:
(1) 刪掉libHyphenateSDK.a,保留libHyphenateFullSDK.a;
(2) 在Build Settings -> Other Linker Flags 添加”-ObjC”。
如下圖所示:
在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(@"登陸成功");
}