实现功能:
1.实现完整的融云聊天功能,
2.使用代理文件获取聊天用户信息,
3.使用的自定制通讯录页面.
4.自定制了badge提示.
5.重写融云的聊天页.
6.使用Swizzling修改融云内置的发送地址页面的navigationbar.tintColor.
实现方式:
1.使用cocoapods接入融云sdk.
2.添加bright文件.
3.在.info文件中添加权限提示字段.
4.在appdelegate文件中注册融云sdk.
5.新建通讯录页面.
6.重写会话页面.
7.connect注册登录用户信息.
8.新建delegate文件获取聊天对象信息.
9.通过delegate实现badge提示功能.
10.添加Swizzing修改融云内置页面的navigationbar
1.使用cocoapods接入融云sdk.
cocoaPods是iOS开发中重要的依赖管理工具,这里默认大家会使用,如果不会请自行学习.
podfile文件内容:
platform :ios, '7.0'
target '你的项目名称' do
use_frameworks!
pod 'RongCloudIM/IMKit'
end
因为我们使用了融云官方的会话页面,所以选择使用IMKit,如果页面全部自定制,可以使用IMLib框架
2.添加bright文件.
融云的sdk是使用的OC语言,所以我们Swift调用时需要添加桥接文件:
RCIMDemo-Bridging-Header.h
#ifndef RCIMDemo_Bridging_Header_h
#define RCIMDemo_Bridging_Header_h
#import <RongIMKit/RongIMKit.h>
///修改融云自带ViewController.navigationBar需要的
#import "UIViewController+Swizzling_h.h"
#endif /* RCIMDemo_Bridging_Header_h.h */
添加文件后要在buildSetting中设置
3.在.info文件中添加权限提示字段.
<key>NSCameraUsageDescription</key>
<string>RCIM需要您的相机权限,用以选择背景图片等功能</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>RCIM需要您的地理位置权限</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>RCIM需要您的地理位置权限</string>
<key>NSMicrophoneUsageDescription</key>
<string>RCIM需要使用您的麦克风</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>RCIM需要您的相册权限,用以选择背景图片等功能</string>
4.在appdelegate文件中注册融云sdk.
///在官网上申请的App Key. 同时获取的App Secret我们并不需要,是后台需要的.
RCIM.shared().initWithAppKey("y745wfm8yjzbv")
///是否将用户信息和群组信息在本地持久化存储
RCIM.shared().enablePersistentUserInfoCache = false
///是否在发送的所有消息中携带当前登录的用户信息
RCIM.shared().enableMessageAttachUserInfo = true
///收到信息的代理
RCIM.shared().receiveMessageDelegate = self
///用户信息提供代理
RCIM.shared().userInfoDataSource = RCIMDataSource
RCIM.shared().groupInfoDataSour