====== iOS SDK 快速集成 ======
===== 快速集成单聊功能 =====
=== 第 1 步:集成环信SDK ===
方式一:
推荐使用Cocoapods集成环信SDK。Cocoapods提供了一个简单的依赖管理系统,避免手动导入产生的错误(首先需要确认已经安装了Cocoapods)。
sudo gem install cocoapods
pod setup
在Xcode项目的根目录下,新建一个空文件,命名为Podfile,向此文件添加以下行:
#Lite版本
pod 'HyphenateLite'
#Full版本
pod 'Hyphenate'
在Podfile目录下,执行以下指令:
pod install
方式二:
在环信官网下载SDK,[[http://www.easemob.com/download/im|点击下载]]
手动将SDK导入到自己的工程中[[im:300iosclientintegration:20iossdkimport|(集成介绍)]]
=== 第 2 步:初始化环信SDK ===
以Cocoapods方式集成SDK,需要引入相关头文件
//Lite版本
#import
//Full版本
#import
在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//AppKey:注册的AppKey,详细见下面注释。
//apnsCertName:推送证书名(不需要加后缀),详细见下面注释。
EMOptions *options = [EMOptions optionsWithAppkey:@"douser#istore"];
options.apnsCertName = @"istore_dev";
[[EMClient sharedClient] initializeSDKWithOptions:options];
return YES;
}
// APP进入后台
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[EMClient sharedClient] applicationDidEnterBackground:application];
}
// APP将要从后台返回
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[EMClient sharedClient] applicationWillEnterForeground:application];
}
=== 第 3 步:登录环信 ===
登录:调用 SDK 的登录接口进行的操作。
[[EMClient sharedClient] loginWithUsername:@"8001"
password:@"111111"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"登录成功");
} else {
NSLog(@"登录失败");
}
}];
=== 第 4 步:导入EaseUI ===
方式一:
下载Release版本SDK,在自己的项目中导入EaseUI整个目录
{{:im:300iosclientintegration:ios_quickstart_release_catalog.jpg|}}
方式二:
通过cocoapods集成EaseUI
pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git'
=== 第 5 步:初始化单聊页面 ===
//环信ID:@"8001"
//聊天类型:EMConversationTypeChat
EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"8001" conversationType:EMConversationTypeChat];
[[im:300iosclientintegration:40emmsg|消息功能集成详细介绍]]
===== 快速集成群聊功能 =====
首先需要完成快速集成单聊上述步骤。
=== 创建群组 ===
EMError *error = nil;
EMGroupOptions *setting = [[EMGroupOptions alloc] init];
setting.maxUsersCount = 500;
setting.style = EMGroupStylePublicOpenJoin;// 创建不同类型的群组,这里需要才传入不同的类型
EMGroup *group = [[EMClient sharedClient].groupManager createGroupWithSubject:@"群组名称" description:@"群组描述" invitees:@[@"6001",@"6002"] message:@"邀请您加入群组" setting:setting error:&error];
if(!error){
NSLog(@"创建成功 -- %@",group);
}
=== 初始化群聊页面 ===
//群ID:@"groupId"
//聊天类型:EMConversationTypeGroupChat
EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"groupId" conversationType:EMConversationTypeGroupChat];
[[im:300iosclientintegration:60groupmgm|群组功能集成详细介绍]]
===== 快速集成好友功能 =====
首先需要完成快速集成单聊上述步骤。
=== 添加好友 ===
[[EMClient sharedClient].contactManager addContact:@"8001"
message:@"我想加您为好友"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"邀请发送成功");
}
}];
//同意好友申请
[[EMClient sharedClient].contactManager approveFriendRequestFromUser:@"8001"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"同意好友成功");
}
}];
//拒绝好友申请
[[EMClient sharedClient].contactManager declineFriendRequestFromUser:@"8001"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"拒绝好友成功");
}
}];
=== 删除好友 ===
// 删除好友
[[EMClient sharedClient].contactManager deleteContact:@"8001"
isDeleteConversation: YES
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"删除成功");
}
}];
=== 获取好友 ===
//从服务器获取所有的好友
[[EMClient sharedClient].contactManager getContactsFromServerWithCompletion:^(NSArray *aList, EMError *aError) {
if (!aError) {
NSLog(@"获取成功");
}
}];
//从数据库获取所有的好友
NSArray *userlist = [[EMClient sharedClient].contactManager getContacts];
[[im:300iosclientintegration:50buddymgm|好友功能集成详细介绍]]
===== 快速集成演示视频 =====
[[http://www.imgeek.org/video/39|EaseUI集成参考视频]]
[[http://www.imgeek.org/video/40|SDK集成参考视频]]
----
上一页:[[im:300iosclientintegration:30iossdkbasic|集成 SDK 基础功能]]
下一页:[[im:300iosclientintegration:40emmsg|消息]]