网易云信心得

由于最近使用云信添加聊天功能,记录一下一些点避免时间久了忘记云信群聊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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,165评论 1 32
  • 前言 最近忙完项目比较闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助。博主非科班出身,一些...
    GitHubPorter阅读 1,477评论 9 5
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,517评论 2 4
  • 苏信在返回的路上,意外的遇到了张副官,他给自己带来了一个晴天霹雳的噩耗。 军营里,将士的不满之声一浪高过一浪,纷纷...
    亓小米阅读 230评论 0 1
  • 凡事相信,凡事盼望,凡事有爱。一读者留言“情不知所起 ,一往而深 ”。我大概的知道了她的故事,她已陷在爱的泥沼里,...
    流涓阅读 320评论 0 3