由于最近使用云信添加聊天功能,记录一下一些点避免时间久了忘记云信群聊API,基本包括了所有类 (需要学习的也就20,30个,每个内容不多)
1.NIMSDKConfig
2.NIMSDK
3.NIMCustomObject
4.所以Appdelegate开始需要做的就是上面的内容
NIMKit是很重要的一个类:@property (nonatomic,strong) id provider;内容提供者,由上层开发者注入。
NIMKitDataProvider:app delegate需要有一个内容提供者,
5.比较小的类可以直接写在一个使用它的类里面,避免文件过多
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