由于最近使用云信添加聊天功能,记录一下一些点避免时间久了忘记云信群聊API,基本包括了所有类 (需要学习的也就20,30个,每个内容不多)
1.NIMSDKConfig
这个修改云信Log的保存,文件保存等 一般不要就放默认的documents下的NIMSDK文件夹 NIMSDKConfig是配置类,方法有自动下载文件和文件的加密保护,设置代理方法和文件保存目录。这样一个类就这些内容2.NIMSDK
查看版本号,appkey和证书注册,判断是否用的demokey避免出错,注册推送,当前文件保存路径,控制台log输出开启,其余的就是很多管理类3.NIMCustomObject
自定义消息实体,attachment是id类型的附件,到时候解析文件内容都通过它来。有一个类方法是在解析自定义消息前需要创建解码器4.所以Appdelegate开始需要做的就是上面的内容
Appdelegate 开启登陆管理类和通知中心 开启退出处理NIMKit是很重要的一个类:@property (nonatomic,strong) id provider;内容提供者,由上层开发者注入。
NIMKitDataProvider:app delegate需要有一个内容提供者,
初始化提供者5.比较小的类可以直接写在一个使用它的类里面,避免文件过多
NTESDataRequest就NTESDataManager使用到6.appdelegate(或者MainViewController)加上通知代理,随时改变tabbar角标
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
[[NIMSDK sharedSDK].conversationManager addDelegate:self];
extern NSString *NTESCustomNotificationCountChanged;
// [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onCustomNotifyChanged:) name:NTESCustomNotificationCountChanged object:nil];
self.sessionUnreadCount = [NIMSDK sharedSDK].conversationManager.allUnreadCount;
self.systemUnreadCount = [NIMSDK sharedSDK].systemNotificationManager.allUnreadCount;
self.customSystemUnreadCount = [[NTESCustomNotificationDB sharedInstance] unreadCount];
7.NTESLogManager 的start是云信log记录,使用了一个第三方iOS开源项目之日志框架CocoaLumberjack,CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumberjack类似于流行 的日志框架(如log4j),但它是专为Objective-C设计的,利用了多线程、GCD(如果可用)、无锁原子操作Objective-C运行时的 动态特性。连接文章
PCH里面加上云信头文件:
#pragma mark --- 云信
#import "NIMSDK.h"
#import "NTESGlobalMacro.h"
#import "NIMKit.h"
#import#ifdef DEBUG
static DDLogLevel ddLogLevel = DDLogLevelVerbose;
#else
static DDLogLevel ddLogLevel = DDLogLevelInfo;
#endif
8.把方法写在define里
9.NTESNotificationCenter 的方法里,已经在2.4.0版本加上了新消息语音提醒
10.UIImage+NTESColor.h 类 把+ (UIImage *)imageWithColor:(UIColor *)color 方法写成了类,同时把通过color得到的图片做一个缓存NSCache,这个是不同之处, 这篇文章可以了解NSCache,它是一种字典,比字典更有优势,不用考虑线程缓存何时清理的问题。
7.深度定制化UI
https://github.com/netease-im/NIM_iOS_UIKit
网友评论