# IMKitModule (opens new window)

# 该框架是基于 网易云信 (opens new window) IOS SDK 二次开发,简化替换原有SDK内部调用第三方组件。优化适配了业务场景需要。

# 该组件集成至所有素+系列IOS应用内,其组件内部抽象程度和调用程度较高。

# 注意:该组件虽然没有单例对象,但需要使用者把IMSDKConfig对象保存至静态区,跟随App生命周期。

# 说明

  • 提供简单易用胶水代码,方便调用。
  • 对云信SDK内部统一简化适配,屏蔽冗余组件。
  • 替换优秀组件并重新集成,更新内部第三方组件版本。

# 安装

在项目 Podfile 文件内添加

pod 'IMKitModule'

在项目目录下执行脚本

pod install

插件即可集成至项目内

# 使用

首先需要全局配置

IMSDKConfig.h (opens new window) 配置全局IM参数,其中仅提供一种初始方式

- (instancetype)initIMType:(IMAPPType)imType withAPNSCerName:(NSString *)cerName;

其中IMAPPType枚举声明如下,根据项目类型传不同参数,则cerName参数是IM后台配置文件字段

typedef NS_ENUM(NSInteger,IMAPPType) {
    // 在线下单
    IM_PRO_TYPESUPLUS = 3,
    // 仓库
    IM_PRO_STROGE = 4,
    // 能力展示
    IM_PRO_ABILITY = 5,
    // 合伙人
    IM_PRO_PARTNER = 6,
};

调用生成IMSDKConfig (opens new window) 对象后需要对内部SDK进行初始化

/**
初始化
*/
- (void)setupNIMSDK;

此时还需要对IM的登录状态进行操作和管理,相关API如下:

/**
登录API
*/
- (void)manualLoginWithAccount:(NSString *)account token:(NSString *)token;

/**
登出API
*/
- (void)manualLogout:(nullable NIMLoginHandler)completion;

/**
退出 Block 事件回调
*/
- (void)setLogoutBlock:(NIMLoginHandler)logoutBlock;

至此IM组件介绍完毕。

最后更新时间: 11/24/2021, 7:45:32 AM