步驟如下:
1浮禾、下載SDKhttp://www.easemob.com/download
證書下載上傳
后期發(fā)送消息 需要推送發(fā)送的內(nèi)容
http://docs.easemob.com/doku.php?id=im:300iosclientintegration:10prepareforsdkimport
2交胚、導(dǎo)入下載好的SDK
3、添加依賴庫
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
添加-force_load
target -> build settings -> 搜索other linker flags -> 雙擊other linker flags后邊添加-force_load -> 將libHyphenateSDK.a拖到-force_load下邊(出現(xiàn)10個警告)如果拖libHyphenateFullSDK.a文件 會出現(xiàn)4個錯誤
注意:SDK不支持bitcode,向Build Settings → Linking(搜bit) → Enable Bitcode中設(shè)置NO盈电。
4蝴簇、運(yùn)行編譯器,檢查是否報錯
5熬词、真機(jī)錯誤修復(fù)
6.5、導(dǎo)入libiconv
6吸重、導(dǎo)入EaseUI框架
7互拾、導(dǎo)入靜態(tài)庫 運(yùn)行后會有很多報錯
8、添加PCH到工程
9嚎幸、將PCH文件修改成相對路徑
10颜矿、注冊環(huán)信
11、實現(xiàn)單聊功能
注冊環(huán)信
1)導(dǎo)入頭文件#import "EMSDK.h"
(2)注冊代碼
EMOptions *options = [EMOptions optionsWithAppkey:@"xuanyi#im"];
options.apnsCertName = @"DDD";
[[EMClient sharedClient] initializeSDKWithOptions:options];
(3)用戶注冊
EMError *error = [[EMClient sharedClient] registerWithUsername:@"ming" password:@"111"];
(4)用戶登錄
EMError *error = [[EMClient sharedClient] loginWithUsername:@"ming" password:@"111"];
(5)添加好友
《1》EMError *error = [[EMClient sharedClient].contactManager addContact:@"xiao" message:@"..."];
《2》[[EMClient sharedClient].contactManager addDelegate:self delegateQueue:nil];
《3》成功didReceiveAgreedFromUsername:
《4》遭拒絕didReceiveDeclinedFromUsername:
注意:
如果項目中使用-ObjC有沖突,可以添加-force_load來解決嫉晶, 添加-force_load:
targets->build setting->other linker flags->添加-force_load->靜態(tài)庫拖動到他的下面骑疆,-force_load[空格]EaseMobSDK/lib/libHyphenateSDK.a(靜態(tài)庫的路徑)。
代碼:
-
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//AppKey:注冊的appKey替废,詳細(xì)見下面注釋箍铭。
//apnsCertName:推送證書名(不需要加后綴),詳細(xì)見下面注釋椎镣。
EMOptions *options = [EMOptions optionsWithAppkey:@"chen0828#childrenstory"];
options.apnsCertName = @"not";
[[EMClient sharedClient] initializeSDKWithOptions:options];[[EaseSDKHelper shareHelper] easemobApplication:application
didFinishLaunchingWithOptions:launchOptions
appkey:@"chen0828#childrenstory"
apnsCertName:@"not"
otherConfig:@{kSDKConfigEnableConsoleLogger:[NSNumber numberWithBool:YES]}];
return YES;
}
// App進(jìn)入后臺 (void)applicationDidEnterBackground:(UIApplication *)application
{
[[EMClient sharedClient] applicationDidEnterBackground:application];
}
// App將要從后臺返回
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[EMClient sharedClient] applicationWillEnterForeground:application];
}