Skip to content

基于LeanCloud的IM功能,可以快速使用的UI框架

License

Notifications You must be signed in to change notification settings

rxdxxxx/WBChatIMKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WBChatIMKit

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • iOS 8.0 or later
  • Xcode 7.3 or later

简介

安装

Podfile文件中添加下面👇这行代码

pod 'WBChatIMKit'

初始化

首先需要在 LeanCloud 注册自己的应用,得到对应的 AppIdclientKey 后在程序中设置对应信息

#import <WBChatIMKit/WBChatIMKit.h>

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

    [WBChatKit setAppId:@"AppId"
              clientKey:@"clientKey"];
    return YES;
}

连接服务器

SDK初始化成功后, 就可以用某一身份连接服务器. 实例代码如下.

[[WBChatKit sharedInstance] openWithClientId:@"10000"
                                     success:^(NSString * _Nonnull clientId)
 {
     NSLog(@"链接成功");
     
 } error:^(NSError * _Nonnull error) {
     NSLog(@"链接失败: %@",
           error.description);
 }];


展示会话列表

本项目提供了会话列表页面. 可以直接使用 WBChatListController 也可以继承这个类实现自己的逻辑.


WBChatListController *vc = [[WBChatListController alloc]init];
    
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

[self presentViewController:nav animated:YES completion:nil];

第一次登陆是没有会话信息的, 你可以给任意ID发送一条消息,就可以在会话列表中看到这条记录了.

发送一条消息:
WBMessageModel *text = [WBMessageModel createWithText:[NSDate new].description];
    
[[WBChatKit sharedInstance] sendTargetUserId:@"30000"
                                     message:text
                                     success:^(WBMessageModel * _Nonnull aMessage)
{
     NSLog(@"消息发送成功");

} error:^(WBMessageModel * _Nonnull aMessage, NSError * _Nonnull error) {

     NSLog(error.description);

}];

会话列表页面具体效果
正常效果 删除会话
会话列表页面具体效果 会话列表页面删除

会话页面

本项目提供了会话页面. 可以直接使用 WBChatViewController 也可以继承这个类实现自己的逻辑.

WBChatListController的方法中已经实现页面的跳转.

// WBChatListController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    WBChatListCellModel *cellModle = self.dataArray[indexPath.row];
    
    WBChatViewController *vc = [WBChatViewController createWithConversation:cellModle.dataModel.conversation];
    vc.title = cellModle.title;
    [self.navigationController pushViewController:vc animated:YES];
}

会话页面具体效果
会话正常效果 emoji键盘 更多
会话页面具体效果 会话页面emoji键盘效果 会话页面更多具体效果

断开连接

断开连接后,就不会再收到这个账号的消息了.

- (IBAction)logOut{
    [[WBChatKit sharedInstance] closeWithCallback:^(BOOL succeeded, NSError * _Nonnull error) {
        if (succeeded) {
            NSLog(@"退出成功");
        }else{
            NSLog(@"退出失败");
        }
    }];
}

其他

更多细节介绍请查看 这里

依赖库

  • 'FMDB'
  • 'AVOSCloud'
  • 'AVOSCloudIM'

参考资源

Author

Ding RedRain, 447154278@qq.com

License

WBChatIMKit is available under the MIT license. See the LICENSE file for more info.