# iOS项目——IM聊天工具(集成融云SDK)

本文档详述了一支无iOS基础的4人团队如何在一个月内,利用融云SDK开发出IM聊天应用的过程。重点介绍了集成融云SDK的各个步骤,包括集成准备、SDK导入、用户登录、会话列表和单聊功能的实现。建议使用CocoaPods导入SDK,通过服务器获取Token以保证安全性,并强调了用户信息提供者的重要性。目前群聊和好友添加功能待更新。
摘要由CSDN通过智能技术生成

iOS项目——IM聊天工具(集成融云SDK)

1 项目介绍

  • 本项目由4人小团队开发,4人均无iOS编程基础,历时一个月边学边做完成的,其间遇到了各种奇怪的问题,有的硬啃解决了,有的用别的方案代替了,最终完成了勉强让人满意的IM聊天项目。

  • 本博客以我的工作视角进行介绍,主要介绍集成融云SDK实现相应功能部分。

  • 在做项目的过程中,我发现网上IM项目特别是iOS的IM项目相关资料是很少的,iOS客户端集成融云SDK的文章只有集成单聊的比较多,开发中遇到的绝大部分问题最后都是靠融云的官方文档解决的(但官方文档某些部分真的很难理解~)。

  • 由于博主只有一个月的iOS客户端学习与开发经历,项目中可能存在不合理的部分,秉承开放交流的原则,希望大佬能指出我的错误,希望入门开发者能通过本博客获得帮助。

注:本项目使用OC开发。

2 具体功能介绍

2.1集成准备

  • 进入融云官网:https://www.rongcloud.cn
  • 注册开发者账号,进入控制台,选择“服务管理”,点击加号创建自己的应用,然后你会获得所创建应用的App Key和App Secret
  • 其实这部分官方文档里面已经介绍得很详细了,我建议直接看官方文档的,地址:https://www.rongcloud.cn/docs/ios.html

2.2集成SDK

集成:

  • 集成首先就需要将SDK导入项目之中,此处我强烈建议使用CocoaPods导入,千万不要手动导入,手动导入需要配置很多很多东西,一个错误都会导致项目编译直接出错。
  • 这部分同样建议看官方文档:https://www.rongcloud.cn/docs/ios.html
  • 不过其实也很简单,使用CocoaPods官网的podfile管理工具会更加方便,在项目对应的podfile中加入以下代码,然后install就行。(注:博主Xcode版本太低,只能选择低版本的SDK)
pod 'RongCloudIM/IMLib', '~> 2.8.32'
pod 'RongCloudIM/IMKit', '~> 2.8.32'

初始化SDK:

  • 在需要使用融云SDK功能的类中,import该头文件
#import <RongIMKit/RongIMKit.h>
  • 使用融云SDK任何功能之前,需要先初始化SDK。在App生命周期中只需要初始化一次,所以我们可以把它放在AppDelegate类中进行初始化(请确保你的AppDelegate类已经导入融云头文件):
//应用第一次运行时执行,APP从后台激活不会执行该方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   
  
  //初始化融云SDK,sharedRCIM是RCIM的单例,会用到很多,AppKey获取请查看“集成准备”
  [[RCIM sharedRCIM] initWithAppKey:@"你的AppKey"];
  
  return YES;
}

集成部分其实网上教程较多,本博客不赘述集成SDK的流程了。

2.3登录

登录逻辑:

  • 用户信息管理应使用我们自己的服务器。客户端发送验证请求,服务器接收请求并验证数据库中该用户信息是否正确,若正确则发送验证成功的信息。客户端接收到验证成功信息后,调用融云的连接函数,与融云服务器建立连接。
  • 此处我在连接完成之后做了三个工作:
  1. 查询用户好友对象列表,并将好友对象列表赋给AppDelegate类全局变量,方便后续通讯录初始化的使用。当获取好友信息之后,就可以允许App跳转到主界面,这里通过block"success"通知界面跳转
  2. 查询用户好友请求信息列表,即别人对本登录用户的好友请求信息列表
  3. 设置当前用户信息,并返回给融云,让融云知道有这样一个人,并根据该信息显示该用户的头像和昵称
[[RCIM sharedRCIM] connectWithToken:token  //token获取方法见下文
     success:^(NSString *userId) {
   
         NSLog(@"登录成功。当前登录的用户ID:%@", userId);
       
         // 查询用户好友对象列表,查询完再允许跳转主界面
         [TOAFHttpUtils findUserFriends:userId
                              withBlock:^(NSString * _Nonnull result) {
   
                                  if([result isEqualToString:@"success"]){
   
                                      block(@"success");
                                  }
                              }];
         
         // 查询用户好友请求信息表
         [TOAFHttpUtils findNewFiendRequestInfo:userId];
         //设置当前用户信息,用于显示自己的头像和昵称
         [[TORongUtils alloc] setCurrentUserInfo:userId];
         
     } error:^(RCConnectErrorCode status) {
   
         NSLog(@"登陆的错误码为:%ld", (long)status);
         block(@"error");
     } tokenIncorrect:^{
   
         NSLog(@"token错误");
         block(@"error");
}];

获取Token:

  • token有两个获取途径:
  1. 可以在融云开发者后台的“Api调试”中手动输入userId获取对应的用户token。一般在测试集成阶段使用,测试比较方便。但很明显,token不能写死,所以我们需要根据用户ID动态获取token。
  2. 使用融云的Server Api获取用户token。流程:向我们自己的App Server发送请求获取token,App Server通过融云的Server Api获取token并返回给客户端,客户端接收该token并以此连接到融云服务器。
  • 为什么必须在服务器端请求 Token,客户端不提供获取 Token 的接口?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SimpleIM 即时通讯工具 SimpleIM 安装说明 1. 三个目录 本压缩包包括三个目录, 分别为 src (源程序), res (资源), bin (可执行文件)。 2. src src 目录下包括四个目录, 分别为 Client (客户端), Server (服务端), Common (公用代码), Asp (网页)。 客户端 vbp: /src/Client/Client.vbp (目前版本: Beta 4) 服务端 vbp: /src/Server/Server.vbp 将上述两个文件用 Visual Basic 6.0 (Service Pack 6) 打开即可修改、编译。 asp 下包括 register.asp (注册页面), changepwd.asp (修改密码页面), conn.asp 和 md5.vbs。 3. bin bin 下为最终发行所需的二进制文件, 其中 SimpleIM.exe 为客户端程序, Simple IM Server.exe 为服务端程序。 修改源代码以后需要重新编译这两个文件。 MSWINSCK.OCX 为 Microsoft Winsock Control 6.0 (SP6), 为客户端和服务端需要; MSCOMCTL.OCX 为 Microsoft Windows Common Control 6.0 (SP6), 为客户端需要。 说明: 由于 Windows 98 以上版本 Windows 操作系统包含 MSVBVM60.DLL 等 VB6 运行时文件, 本压缩包中省略。 4. res res 下为图片、css、xsl 和数据库文件。 5. 安装 客户端需要准备的文件: SimpleIM.exe MSWINSCK.OCX MSCOMCTL.OCX 直接这将三个文件打包 (加上说明文档) 即可发布。 服务端需要准备的文件: Simple IM Server.exe MSWINSCK.OCX ServerDb.mdb register.asp changepwd.asp conn.asp md5.vbs 首先在服务器上安装 IIS, 将 register.asp, changepwd.asp, conn.asp, md5.vbs 放在一个支持 asp 的目录下, 然后在这个目录下创建一个目录 (目录名需要保密), 将 conn.asp 中 Const SecretDir = "SecretDir" 引号中的 内容改为这个目录的目录名, 然后将 Simple IM Server.exe, MSWINSCK.OCX, ServerDb.mdb 拷贝到这个目录下, 最后建立主页, 即可投入使用。 6. 兼容性 本程序仅在 Microsoft Windows XP SP2 下测试通过, 不保证在非 WinNT 5.x 内核上的兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值