iOS SDK 版本历史

[5.3.0] - 2018-06-26

新增


@interface NIMUser : NSObject

@property (nullable,nonatomic,copy,readonly)   NSString  *serverExt;

@end

修正

[5.2.2] - 2018-06-06

修正

[5.2.1] - 2018-05-28

修正

[5.1.1] - 2018-05-23

修正

/**
 *  聊天委托
 */
@protocol NIMChatManagerDelegate <NSObject>

/**
 *  取消收取消息附件
 *
 *  @param message 需要取消收取附件的消息
 *
 *  @discussion 附件包括:图片消息的图片缩略图,视频消息的视频缩略图,音频消息的音频文件,文件消息的文件以及自定义消息中的自定义文件
 *              个人和群组消息。SDK 不会触发任何下载回调
 */
- (void)cancelFetchingMessageAttachment:(NIMMessage *)message;

@end
/**
 *  本地错误码 (IM 和通用) Domain NIMLocalErrorDomain
 */
typedef NS_ENUM(NSInteger, NIMLocalErrorCode) {
/**
     *  主动取消任务
     */
    NIMLocalErrorCodeManualCancelTask = 19,
}

变更

/**
 *  聊天室管理器回调
 */
@protocol NIMChatroomManagerDelegate <NSObject>

/**
 *  被踢回调
 *
 *  @param roomId   被踢的聊天室Id
 *  @param reason   被踢原因
 */
- (void)chatroom:(NSString *)roomId beKicked:(NIMChatroomKickReason)reason;

@end

变更为

/**
 *  聊天室管理器回调
 */
@protocol NIMChatroomManagerDelegate <NSObject>

/**
 *  被踢回调
 *
 *  @param result   被踢的结果详情
 */
- (void)chatroomBeKicked:(NIMChatroomBeKickedResult *)result;

@end
/**
 *  检索服务器历史消息选项 (服务器)
 */
@interface NIMHistoryMessageSearchOption : NSObject

/**
 *  查询的消息类型
 *  @discusssion 消息类型组合,默认为 nil ,搜索全类型。一旦设置了这个字段,则 sync 字段失效,查询结果不会写入 db 。
 */
@property (nonatomic,copy)    NSArray<NSNumber *> *messageTypes;

@end

修正

[5.0.0] - 2018-03-29

新增

@protocol NIMResourceManager <NSObject>

/**
 *  搜索缓存的资源文件
 *
 *  @param option       搜索选项
 *  @param completion   完成回调
 */
- (void)searchResourceFiles:(NIMResourceQueryOption *)option
              completion:(NIMResourceSearchHandler)completion;

/**
 *  删除缓存的资源文件
 *
 *  @param option       搜索选项
 *  @param completion   完成回调
 */
- (void)removeResourceFiles:(NIMResourceQueryOption *)option
              completion:(NIMResourceDeleteHandler)completion;

@end
@protocol NIMTeamManager <NSObject>

/**
 *  刷新群组消息已读、未读数量
 *
 *  @param NIMMessage    要查询的消息
 *  @discussion          消息已读变化后,会通过 NIMChatManager 的代理 onRecvMessageReceipts: 回调给上层
 *                       刷新的消息必须为群组消息
 */
- (void)refreshTeamMessageReceipts:(NSArray<NIMMessage *> *)messages;


/**
 *  查询群组消息回执详情
 *
 *  @param NIMMessage    要查询的消息
 *  @discussion          详情包括已读人数的 id 列表和未读人数的 id 列表
 *                       查询详情对象不会跟着回执人数变化而变化,如果要获取最新的详情,必须再次调用此接口
 *
 */
- (void)queryMessageReceiptDetail:(NIMMessage *)message
                       completion:(NIMQueryReceiptDetailBlock)completion;

@end
@protocol NIMTeamManager <NSObject>

/**
 *  禁言群全体成员
 *
 *  @param mute        是否禁言
 *  @param teamId      群组ID
 *  @param completion  经验操作完成后的回调
 *  @discussion   操作成功后,云信服务器会下发禁言的群通知消息
 */
- (void)updateMuteState:(BOOL)mute
                inTeam:(NSString *)teamId
            completion:(nullable NIMTeamHandler)completion;

@end
@protocol NIMAntispamManager <NSObject>

/**
 *  本地反垃圾检查器
 *
 *  @param option        本地反垃圾检查选项
 *  @param error         错误提示
 *  @discussion          此扩展不会漫游到其他端,上层需要保证 NSDictionary 可以转换为 JSON。
 *  @return              本地反垃圾检查结果,本地反垃圾列表会在每次登录后同步更新
 *                       因为网络问题,或者没有登录,都会导致本地反垃圾列表无效的情况,error 中会包含具体出错原因
 */
- (NIMLocalAntiSpamCheckResult *)checkLocalAntispam:(NIMLocalAntiSpamCheckOption *)option
                                              error:(NSError **)error;

@end

变更

- (void)onRecvMessageReceipt:(NIMMessageReceipt *)receipt;

- (void)onRecvMessageReceipts:(NSArray<NIMMessageReceipt *> *)receipts;

[4.8.0] - 2018-02-08

新增

- (void)saveMessage:(NIMMessage *)message
         forSession:(NIMSession *)session
         completion:(nullable NIMUpdateMessageBlock)completion;
/**
 *  设置播放音频的起始时间
 *  @param timestamp 起始时间
 *  @discussion 起始时间不能大于整个音频的时间,否则播放无效。调用此方法后,不需要再调用 play: 方法,自动播放
 */
- (BOOL)seek:(NSTimeInterval)timestamp;

修正

[4.6.0] - 2018-01-04

新增

@interface NIMSDKConfig : NSObject
/**
 *  是否禁止后台重连
 *  @discusssion 默认为 NO。即默认情况下,当程序退到后台断开连接后,如果 App 仍能运行,SDK 将继续执行自动重连机制。设置为 YES 后在后台将不自动重连,重连将被推迟到前台进行。
 *                只有特殊用户场景才需要此设置,无明确原因请勿设置。
 */
@property (nonatomic,assign)    BOOL    reconnectInBackgroundStateDisabled;
@end
/**
 *  检索服务器历史消息选项 (服务器)
 */
@interface NIMHistoryMessageSearchOption : NSObject
/**
 *  查询的消息类型
 *  @discusssion 消息类型组合,默认为 nil ,搜索全类型。 此参数只对聊天室会话有效
 */
@property (nonatomic,copy)    NSArray<NSNumber *> *messageTypes;
@end
/**
 * 反垃圾选项
 * @discussion 这个选项用于配置易盾反垃圾,设置 enabled 为 YES (默认为 NO) 后该消息进投递到易盾系统进行反垃圾检测 (需要开启易盾服务)
 */
@interface NIMAntiSpamOption : NSObject
/**
 * 用户在易盾配置的额外反垃圾的业务ID
 */
@property (nullable,nonatomic,copy)     NSString    *businessId;
@end

修正

[4.4.0] - 2017-11-16

新增

修正

[4.3.0] - 2017-10-12

新增

@protocol NIMLoginManager <NSObject>
/**
*  当前 SDK 鉴权模式
*
*  @return 当前 SDK 鉴权模式
*/
- (NIMSDKAuthMode)currentAuthMode;
end
@protocol NIMConversationManager <NSObject>
/**
*  设置所有会话消息为已读
*
*  @discussion 异步方法,消息会标记为设置的状态。不会触发单条 recentSession 更新的回调,但会触发回调 - (void)allMessagesRead
*/
- (void)markAllMessagesRead
@end
@protocol NIMSDKConfig NSObject
/**
*  是否支持动图缩略
*  @discusssion 默认为 NO。即默认情况下,从服务器获取原图缩略图时,如果原图为动图,我们将返回原图第一帧的缩略图。
*               而开启这个选项后,我们将返回缩略图后的动图。这个选项只影响从服务器获取的缩略图,不影响本地生成的缩略图。
*/
@property (nonatomic,assign)    BOOL   animatedImageThumbnailEnabled;
@end

变更

修改通知状态接口变更

 (void)updateNotifyState:(BOOL)notify
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

- (void)updateNotifyState:(NIMTeamNotifyState)state
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

查询通知状态接口变更

- (BOOL)notifyForNewMsg:(NSString *)teamId;

- (void)updateNotifyState:(NIMTeamNotifyState)state
                   inTeam:(NSString *)teamId
               completion:(nullable NIMTeamHandler)completion;

[4.2.0] - 2017-09-12

新增

@interface NIMSDKConfig : NSObject
/**
 *  @discusssion 默认为 NO。设置成 YES 的情况下,收到的群通知也会计入未读数
 */
@property (nonatomic,assign)    BOOL    shouldCountTeamNotification;
@end
@interface NIMSDKConfig : NSObject
/**
 *  @discusssion 默认为 7 天。即超过 7 天的 log 将被清除。只能设置大于等于 2 的值。
 */
@property (nonatomic,assign)    NSInteger   maximumLogDays;
@end

变更

/**
 *  创建群组
 *
 *  @param option     创建群选项
 *  @param users      用户ID列表
 *  @param completion 完成后的回调
 */
- (void)createTeam:(NIMCreateTeamOption *)option
              users:(NSArray<NSString *> *)users
         completion:(nullable NIMTeamCreateHandler)completion;

创建群完成的回调由

/**
 *  创建群组block
 *
 *  @param error   错误,如果成功则error为nil
 *  @param teamId 群组ID
 */
typedef void(^NIMTeamCreateHandler)(NSError * __nullable error,NSString * __nullable teamId);

变更为

/**
 *  创建群组block
 *
 *  @param error   错误,如果成功则error为nil
 *  @param teamId  群组ID
 *  @param failedUserIds 邀请失败的群成员ID
 */
typedef void(^NIMTeamCreateHandler)(NSError * __nullable error, NSString * __nullable teamId, NSArray<NSString *> * __nullable failedUserIds);

现在创建群可能会出现建群成功,建群同时邀请的用户部分成功的情况。此时建群依然成功,error 信息为 nil ,并返回邀请失败的群成员 ID 集合。

[4.1.0] - 2017-08-08

新增

变更

- (void)deleteAllMessages:(BOOL)removeRecentSessions

变更为 :

- (void)deleteAllMessages:(NIMDeleteMessagesOption *)option

[4.0.0] - 2017-07-06

新增

[3.8.0] - 2017-06-06

新增

[3.6.0] - 2017-04-27

新增

[3.5.0] - 2017-03-15

新增

变更

[3.4.1] - 2017-02-09

修正

[3.4.0] - 2017-01-20

新增

变更

[3.3.0] - 2016-12-28

新增

[3.2.5] - 2016-12-19

新增

[3.2.0] - 2016-11-30

新增

变更

[3.1.1] - 2016-10-28

修正

[3.1.0] - 2016-10-26

新增

变更

[3.0.0] - 2016-10-20

新增

[2.9.0] - 2016-09-19

新增

变更

[2.8.0] - 2016-08-30

新增

变更

[2.7.0] - 2016-08-11

新增

[2.6.0] - 2016-07-25

新增

变更

[2.5.0] - 2016-07-08

新增

修正

[2.4.0]- 2016-06-02

新增

变更

[2.3.0] - 2016-05-18

新增

变更

[2.2.0] - 2016-04-28

修正

新增

变更

[2.1.0] - 2016-03-24

修正

新增

变更

[2.0.0] - 2016-02-22

修正

新增

[1.8.0] - 2016-01-18

修正

新增

变更

[1.7.1] - 2015-12-04

修正

[1.7.0] - 2015-12-01

修正

新增

变更

[1.6.0] - 2015-11-02

修正

新增

变更

[1.5.0] - 2015-09-29

新增

变更

设置一个会话里所有消息置为已读

- (void)markAllMessageReadInSession:(NIMSession *)session

改为

- (void)markAllMessagesReadInSession:(NIMSession *)session

获取所有最近会话

- (NSArray*)allRecentSession

改为

- (NSArray*)allRecentSessions

标记单条系统消息为已读

- (void)markNotificationAsRead:(NIMSystemNotification *)notification

改为

- (void)markNotificationsAsRead:(NIMSystemNotification *)notification

标记所有系统消息为已读

- (void)markAllNotificationAsRead

改为

- (void)markAllNotificationsAsRead

[1.4.0] - 2015-09-02

新增

变更

[1.3.0] - 2015-07-31

新增

变更

[1.2.0] - 2015-06-23

新增

变更

所有新增会话调用

- (void)didAddRecentSession:(NIMRecentSession *)recentSession

其它更新会话则调用

- (void)didUpdateRecentSession:(NIMRecentSession *)recentSession
              totalUnreadCount:(NSInteger)totalUnreadCount

[1.1.0] - 2015-05-25

新增

变更

网易云信SDK首版上线

连接管理

用户管理

会话消息

普通群(类讨论组)

高级群(类企业群)

推送