最近一段时间工作不是很忙,看了看RongCloud 官网的文档,做了一个demo出来,这里记录一下 步骤.官方的文档其实已经很详细了,用的时候去官网看就可以了,为什么我还要自己写一下呢?🐶 往下看吧...
下面将我做demo中的几个基本的类说明一下就好,喜欢的看源码吧,捎带手给个✨ O(∩_∩)O谢谢 (😁😀😀😀[大笑])
<进入>
官网
1.png
2.png
创建一个项目 RongCloudTest 这里使用pod方式来集成融云的SDK,
pod init 后 编辑 Podfile 文件
platform :ios, '8.0'
use_frameworks!
target 'RongCloudTest' do
pod 'RongCloudIMKit'
end
打开项目 进入 appdelegate.m文件中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//使用注册的app的key
[[RCIM sharedRCIM] initWithAppKey:@"0vnjpoad0cpbz"];
// john 9GMnw9RDHP7qQ/0SNrl/PCb5NDtUcwko6Dg8ItLlzZF9p/sxAmbqAoGY6kRFRMHQv+rZ3OA2ic8ODro5juzvMw==
// jack zTqG4tuECwwNZNzQAg6vDSb5NDtUcwko6Dg8ItLlzZF9p/sxAmbqAj1FeCQ1LsDp1gOFHHIWkA/xCWT+QLCgKQ==
[[RCIM sharedRCIM] connectWithToken:@"9GMnw9RDHP7qQ/0SNrl/PCb5NDtUcwko6Dg8ItLlzZF9p/sxAmbqAoGY6kRFRMHQv+rZ3OA2ic8ODro5juzvMw==" success:^(NSString *userId) {
dispatch_async(dispatch_get_main_queue(), ^{
KGConversationListVC *vc = [[KGConversationListVC alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController = nav;
});
} error:^(RCConnectErrorCode status) {
} tokenIncorrect:^{
NSLog(@"[Error] tokenincorrect");
}];
return YES;
}
KGConversationListVC 是显示聊天列表的类继承自RCConversationListViewController 为了实现高度的自定义界面,最好都继承官方的类
//KGConversationListVC.m文件
//列表中需要显示的会话类型数组(需要将RCConversationType转为NSNumber构建Array) 这里只写了单聊的,根据项目要求,自己定
[self setDisplayConversationTypes:@[@(ConversationType_PRIVATE)]];
KGUserDataSource 是实现了RCIMUserInfoDataSource 协议的类,通过实现它的方法,可以获取 聊天用户的名字头像等等, 如果获取这些个人信息,记得在appdelegate中写上下面的代码:
_dataSource = [[KGUserDataSource alloc] init];
[[RCIM sharedRCIM] setUserInfoDataSource:_dataSource];
ChatTestViewController 类是继承自 RCConversationViewController 的,可以自定义聊天的界面(设置背景图片和聊天文字等)
难得看见这么详细的中文的官方文档.🙄
最后附上 实现的效果
<刚刚运行的话 是下面的样子>
3.png
默认是以 john 登录的,
下面 给他发送一条消息,在官网上如下操作:
4.png
5.png
点击 " 提交 " 后 查看手机或者模拟器 界面 如下:
6.png
点击这条消息 进入给jack发个消息, 然后 退出登录,切换用户,尝试操作一下,基本的聊天就实现了
7.png
赶快下载看看吧!
如果崩溃记得查看相机相册和位置的权限.
rongcloud.gif