HyphenateChatSDK 4.10.0
构造函数 | 类方法 | Protected 属性 | 属性 | 所有成员列表
EMClient类 参考

#import <EMClient.h>

类 EMClient 继承关系图:

构造函数

((unavailable("call sharedClient instead") - __attribute__
 
((unavailable("call sharedClient instead") - __attribute__
 
((unavailable("call sharedClient instead") - __attribute__
 
(NSString *) - version
 
(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(void) - addMultiDevicesDelegate:delegateQueue:
 
(void) - removeMultiDevicesDelegate:
 
(EMError *_Nullable) - initializeSDKWithOptions:
 
(EMError *_Nullable) - changeAppkey:
 
(EMError *_Nullable) - registerWithUsername:password:
 
(void) - registerWithUsername:password:completion:
 
(void) - fetchTokenWithUsername:password:completion:
 
(EMError *_Nullable) - loginWithUsername:password:
 
(void) - loginWithUsername:password:completion:
 
(EMError *_Nullable) - loginWithUsername:token:
 
(void) - loginWithUsername:token:completion:
 
(EMError *_Nullable) - loginWithUsername:agoraToken:
 
(void) - loginWithUsername:agoraToken:completion:
 
(EMError *_Nullable) - renewToken:
 
(void) - renewToken:completion:
 
(EMError *_Nullable) - logout:
 
(void) - logout:completion:
 
(EMError *_Nullable) - bindPushKitToken:
 
(void) - registerPushKitToken:completion:
 
(EMError *_Nullable) - unBindPushKitToken
 
(void) - unRegisterPushKitTokenWithCompletion:
 
(EMError *_Nullable) - bindDeviceToken:
 
(void) - registerForRemoteNotificationsWithDeviceToken:completion:
 
(void) - registerForRemoteNotificationsWithCertName:deviceToken:completion:
 
(void) - bindFCMToken:completion:
 
(EMError *_Nullable) - uploadLogToServer
 
(void) - uploadDebugLogToServerWithCompletion:
 
(NSString *_Nullable) - getLogFilesPath:
 
(void) - getLogFilesPathWithCompletion:
 
(void) - log:
 
(void) - addLogDelegate:delegateQueue:
 
(void) - removeLogDelegate:
 
(NSArray< EMDeviceConfig * > *_Nullable) - getLoggedInDevicesFromServerWithUsername:password:error:
 
(void) - getLoggedInDevicesFromServerWithUsername:password:completion:
 
(void) - getLoggedInDevicesFromServerWithUserId:token:completion:
 
(EMError *_Nullable) - kickDeviceWithUsername:password:resource:
 
(void) - kickDeviceWithUsername:password:resource:completion:
 
(void) - kickDeviceWithUserId:token:resource:completion:
 
(void) - kickAllDevicesWithUserId:token:completion:
 
(EMError *_Nullable) - kickAllDevicesWithUsername:password:
 
(void) - kickAllDevicesWithUsername:password:completion:
 
(EMDeviceConfig *) - getDeviceConfig:
 
(void) - applicationDidEnterBackground:
 
(void) - applicationWillEnterForeground:
 
(void) - application:didReceiveRemoteNotification:
 
(void) - serviceCheckWithUsername:password:completion:
 
(id< IEMTranslateManager > _Nonnull translateManager) - EM_DEPRECATED_IOS
 

类方法

(instancetype _Nonnull) + sharedClient
 

Protected 属性

EMPushOptions_pushOptions
 

属性

NSString *_Nonnull version
 
NSString *_Nullable currentUsername
 
EMOptions *_Nonnull options
 
id< IEMChatManager > _Nullable chatManager
 
id< IEMContactManager > _Nullable contactManager
 
id< IEMGroupManager > _Nullable groupManager
 
id< IEMThreadManager > _Nullable threadManager
 
id< IEMChatroomManager > _Nullable roomManager
 
id< IEMPushManager > _Nullable pushManager
 
BOOL isAutoLogin
 
BOOL isLoggedIn
 
BOOL isConnected
 
NSString *_Nullable accessUserToken
 
id< IEMUserInfoManager > _Nullable userInfoManager
 
id< IEMPresenceManager > _Nullable presenceManager
 
id< IEMStatisticsManager > _Nullable statisticsManager
 

详细描述

该类为 SDK 的入口类,负责登录登出及连接管理等,由此可以获得其他模块的入口,例如:群组模块 [EMClient sharedClient].groupManager。

函数文档

◆ addDelegate:delegateQueue:

- (void) addDelegate: (id< EMClientDelegate >_Nonnull)  aDelegate
delegateQueue: (dispatch_queue_t _Nullable)  aQueue 

添加回调代理。

参数
aDelegate要添加的代理。
aQueue执行代理方法的队列。

◆ addLogDelegate:delegateQueue:

- (void) addLogDelegate: (id< EMLogDelegate >_Nonnull)  aDelegate
delegateQueue: (addLog(delegate:queue:))  NS_SWIFT_NAME 

添加日志回调代理。

参数
aDelegate要添加的代理。
aQueue执行代理方法的队列。

◆ addMultiDevicesDelegate:delegateQueue:

- (void) addMultiDevicesDelegate: (id< EMMultiDevicesDelegate >_Nonnull)  aDelegate
delegateQueue: (addMultiDevices(delegate:queue:))  NS_SWIFT_NAME 

添加多设备回调代理。

参数
aDelegate要添加的代理。
aQueue执行代理方法的队列。

◆ application:didReceiveRemoteNotification:

- (void) application: (id _Nonnull)  application
didReceiveRemoteNotification: (NSDictionary *_Nullable)  userInfo 

iOS 专用,程序在前台收到 APNS 时,需要调用此方法。

参数
application当前应用程序实例。
userInfo推送内容。

◆ applicationDidEnterBackground:

- (void) applicationDidEnterBackground: (id _Nonnull)  aApplication

iOS 专用,程序进入后台时,需要调用此方法断开连接。

参数
aApplication当前应用程序实例。

◆ applicationWillEnterForeground:

- (void) applicationWillEnterForeground: (id _Nonnull)  aApplication

iOS 专用,程序进入前台时,需要调用此方法进行重连。

参数
aApplication当前应用程序实例。

◆ bindDeviceToken:

- (EMError *_Nullable) bindDeviceToken: (NSData *_Nonnull)  aDeviceToken

绑定 device token。

Device token 用于苹果 APNS 推送。

同步方法,会阻塞当前线程。

参数
aDeviceToken要绑定的 token。
返回
绑定成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ bindFCMToken:completion:

- (void) bindFCMToken: (NSString *_Nonnull)  aFCMToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

绑定设备的FCM token,集成FCM推送时使用

异步方法

参数
aFCMToken使用FCM SDK生成的device token
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。
返回
绑定成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ bindPushKitToken:

- (EMError *_Nullable) bindPushKitToken: (NSData *_Nullable)  aPushToken

绑定 PushKit token。

这里是苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。

同步方法,会阻塞当前线程。

参数
aPushToken要绑定的 token。
返回
错误信息,包含调用失败的原因。

◆ changeAppkey:

- (EMError *_Nullable) changeAppkey: (NSString *_Nonnull)  aAppkey

修改 App Key。

只有在未登录状态才能修改 App Key。

参数
aAppkey修改后的 App Key。
返回
EMError 错误信息,包含调用失败的原因。

◆ fetchTokenWithUsername:password:completion:

- (void) fetchTokenWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: (void(^)(NSString *_Nullable aToken, EMError *_Nullable aError))  aCompletionBlock 

从服务器获取 token。

异步方法。

参数
aUsername用户 ID。
aPassword密码。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ getDeviceConfig:

- (EMDeviceConfig *) getDeviceConfig: (EMError **)  pError

获取当前登录的设备信息。

返回
当前登录的设备信息。

◆ getLogFilesPath:

- (NSString *_Nullable) getLogFilesPath: (EMError **_Nullable)  pError

将日志文件压缩成 .gz 文件。

强烈建议压缩文件不再使用时将其删除。

同步方法,会阻塞当前线程。

参数
pError错误信息,包含调用失败的原因。
返回
NSString 压缩文件的路径。

◆ getLogFilesPathWithCompletion:

- (void) getLogFilesPathWithCompletion: (void(^)(NSString *_Nullable aPath, EMError *_Nullable aError))  aCompletionBlock

将日志文件压缩成 .gz 文件。

强烈建议压缩文件不再使用时将其删除。

异步方法。

参数
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ getLoggedInDevicesFromServerWithUserId:token:completion:

- (void) getLoggedInDevicesFromServerWithUserId: (NSString *_Nonnull)  aUserID
token: (NSString *_Nonnull)  aToken
completion: (void(^)(NSArray< EMDeviceConfig * > *_Nullable aList, EMError *_Nullable aError))  aCompletionBlock 

从服务器获取所有已经登录的设备信息。

异步方法。

参数
aUserID用户 ID。
aTokentoken。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ getLoggedInDevicesFromServerWithUsername:password:completion:

- (void) getLoggedInDevicesFromServerWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: (void(^)(NSArray< EMDeviceConfig * > *_Nullable aList, EMError *_Nullable aError))  aCompletionBlock 

从服务器获取所有已经登录的设备信息。

异步方法。

参数
aUsername用户 ID。
aPassword密码。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ getLoggedInDevicesFromServerWithUsername:password:error:

- (NSArray< EMDeviceConfig * > *_Nullable) getLoggedInDevicesFromServerWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
error: (EMError **_Nullable)  pError 

从服务器获取所有已经登录的设备信息。

同步方法,会阻塞当前线程。

参数
aUsername用户 ID。
aPassword密码。
pError错误信息,包含调用失败的原因。
返回
所有已经登录的设备信息列表,由 <EMDeviceConfig> 对象组成的数组。

◆ initializeSDKWithOptions:

- (EMError *_Nullable) initializeSDKWithOptions: (EMOptions *_Nonnull)  aOptions

初始化 SDK。

参数
aOptionsSDK 配置项。
返回
错误信息,包含调用失败的原因。

◆ kickAllDevicesWithUserId:token:completion:

- (void) kickAllDevicesWithUserId: (NSString *_Nonnull)  aUserID
token: (NSString *_Nonnull)  aToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

强制所有的设备登出。

异步方法。

参数
aUserID用户 ID。
aTokentoken。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ kickAllDevicesWithUsername:password:

- (EMError *_Nullable) kickAllDevicesWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword 

强制用户从所有的登录设备登出。

同步方法,会阻塞当前线程。

参数
aUsername强制登出所有登录设备的用户 ID。
aPassword登录 app 的密码。
返回
返回结果,如果失败会包含调用失败的原因。

◆ kickAllDevicesWithUsername:password:completion:

- (void) kickAllDevicesWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

强制所有的登录设备登出。

异步方法。

参数
aUsername强制登出所有登录设备的用户 ID。
aPassword登录 app 的密码。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ kickDeviceWithUserId:token:resource:completion:

- (void) kickDeviceWithUserId: (NSString *_Nonnull)  aUserID
token: (NSString *_Nonnull)  aToken
resource: (NSString *_Nonnull)  aResource
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

强制指定的设备登出。

可调用 getLoggedInDevicesFromServerWithUserId 方法获取单个用户已登录设备的列表。

异步方法。

参数
aUserID用户 ID。
aTokentoken。
aResource设备信息。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ kickDeviceWithUsername:password:resource:

- (EMError *_Nullable) kickDeviceWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
resource: (NSString *_Nonnull)  aResource 

强制指定的设备登出。

同步方法,会阻塞当前线程。

可调用 getLoggedInDevicesFromServerWithUsername 方法获取单个用户的已登录设备的列表。

参数
aUsername用户 ID。
aPassword密码。
aResource要登出的设备,可以通过 getLoggedInDevicesFromServerWithUsername 方法获取。
返回
若强制登出成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ kickDeviceWithUsername:password:resource:completion:

- (void) kickDeviceWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
resource: (NSString *_Nonnull)  aResource
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

强制指定的设备登出。

可调用 getLoggedInDevicesFromServerWithUsername 方法获取单个用户的已登录设备的列表。

异步方法。

参数
aUsername用户 ID。
aPassword密码。
aResource设备信息。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ log:

- (void) log: (NSString *_Nonnull)  aLog

输出日志信息到日志文件。

该方法需要在 SDK 初始化之后调用。

同步方法,会阻塞当前线程。

参数
aLog要输出的日志信息。

◆ loginWithUsername:agoraToken:

- (EMError *_Nullable) loginWithUsername: (NSString *_Nonnull)  aUsername
agoraToken: (3_8_9) 
(4_2_0) 
("Use -EMClient loginWithUsername:token instead")  EM_DEPRECATED_IOS 

声网 Agora Chat user token 登录。

同步方法,会阻塞当前线程。该方法支持自动登录。

参数
aUsername用户 ID。
aAgoraToken声网 Agora Chat user token。
返回
登录成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ loginWithUsername:agoraToken:completion:

- (void) loginWithUsername: (NSString *_Nonnull)  aUsername
agoraToken: (NSString *_Nonnull)  aAgoraToken
completion: (3_8_9) 
(4_2_0) 
("Use -EMClient loginWithUsername:token:completion instead")  EM_DEPRECATED_IOS 

声网 Agora Chat user token 登录。

异步方法,支持自动登录。

参数
aUsername用户 ID。
aAgoraToken声网 Agora Chat user token。
aCompletionBlock完成的回调,如果有错误会返回错误原因。

◆ loginWithUsername:password:

- (EMError *_Nullable) loginWithUsername: (NSString *_Nonnull)  aUsername
password: (3_0_0) 
(4_5_0) 
("Use -EMClient loginWithUsername:token:completion instead")  EM_DEPRECATED_IOS 

用户使用密码登录服务器。

推荐使用 token 登录聊天服务器。

同步方法,会阻塞当前线程。

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aPassword密码,长度不超过 64 个字符。请确保你对该参数设值。
返回
登录成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ loginWithUsername:password:completion:

- (void) loginWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: (3_0_0) 
(4_5_0) 
("Use -EMClient loginWithUsername:token:completion instead")  EM_DEPRECATED_IOS 

用户使用密码登录聊天服务器。

异步方法。

推荐使用 token 登录聊天服务器。

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aPassword密码,长度不超过 64 个字符。请确保你对该参数设值。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ loginWithUsername:token:

- (EMError *_Nullable) loginWithUsername: (NSString *_Nonnull)  aUsername
token: (NSString *_Nonnull)  aToken 

用户使用 token 登录。

该方法支持自动登录。

同步方法,会阻塞当前线程。

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aToken登录 Token。
返回
登录成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ loginWithUsername:token:completion:

- (void) loginWithUsername: (NSString *_Nonnull)  aUsername
token: (NSString *_Nonnull)  aToken
completion: (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError))  aCompletionBlock 

用户使用 token 登录。

异步方法。该方法支持自动登录。

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aToken登录 Token。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ logout:

- (EMError *_Nullable) logout: (BOOL)  aIsUnbindDeviceToken

用户登出聊天服务器。

同步方法,会阻塞当前线程。

参数
aIsUnbindDeviceToken是否解除账号与设备绑定。
  • YES:表示解除绑定。成功解绑后,用户登出账号后设备将不再收到消息推送。若解绑失败,SDK 会返回错误信息,包含调用失败的原因。
  • NO:表示不解除绑定。
返回
EMError 错误信息,包含失败原因。

◆ logout:completion:

- (void) logout: (BOOL)  aIsUnbindDeviceToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

登出聊天服务器。

异步方法。

参数
aIsUnbindDeviceToken是否解除账号与设备绑定。
  • YES:表示解除绑定。成功解绑后,用户登出账号后设备将不再收到消息推送。若解绑失败,SDK 会返回错误信息,包含调用失败的原因。
  • NO:表示不解除绑定。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ registerForRemoteNotificationsWithCertName:deviceToken:completion:

- (void) registerForRemoteNotificationsWithCertName: (NSString *_Nonnull)  aCertName
deviceToken: (NSData *_Nonnull)  aDeviceToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

注册 device token。

Device token 用于苹果 APNS 推送。

异步方法。

参数
aCertName要绑定的证书名称
aDeviceToken要绑定的 token。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ registerForRemoteNotificationsWithDeviceToken:completion:

- (void) registerForRemoteNotificationsWithDeviceToken: (NSData *_Nonnull)  aDeviceToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

注册 device token。

Device token 用于苹果 APNS 推送。

异步方法。

参数
aDeviceToken要绑定的 token。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ registerPushKitToken:completion:

- (void) registerPushKitToken: (NSData *_Nullable)  aPushToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

注册 PushKit token。

苹果的 PushKit 推送服务,服务于 VoIP 类型的推送。

异步方法。

参数
aPushToken要注册的 token。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ registerWithUsername:password:

- (EMError *_Nullable) registerWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword 

注册用户。

不推荐使用,建议后台通过 REST 注册。

同步方法,会阻塞当前线程.

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aPassword密码,长度不超过 64 个字符。请确保你对该参数设值。
返回
EMError 错误信息,包含调用失败的原因。

◆ registerWithUsername:password:completion:

- (void) registerWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: (void(^)(NSString *_Nonnull aUsername, EMError *_Nullable aError))  aCompletionBlock 

注册用户。

不推荐使用,建议后台通过 REST 注册。

异步方法。

参数
aUsername用户 ID,长度不超过 64 个字符。请确保你对该参数设值。支持的字符包括英文字母(a-z),数字(0-9),下划线(_),英文横线(-),英文句号(.)。该参数不区分大小写,大写字母会被自动转为小写字母。如果使用正则表达式设置该参数,则可以将表达式写为:^[a-zA-Z0-9_-]+$。
aPassword密码,长度不超过 64 个字符。请确保你对该参数设值。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ removeDelegate:

- (void) removeDelegate: (id _Nonnull)  aDelegate

移除回调代理。

参数
aDelegate要移除的代理。

◆ removeLogDelegate:

- (void) removeLogDelegate: (removeLog(delegate:))  NS_SWIFT_NAME

移除日志回调代理。

参数
aDelegate要移除的代理。

◆ removeMultiDevicesDelegate:

- (void) removeMultiDevicesDelegate: (id< EMMultiDevicesDelegate >_Nonnull)  aDelegate

移除多设备回调代理。

参数
aDelegate要移除的代理。

◆ renewToken:

- (EMError *_Nullable) renewToken: (NSString *_Nonnull)  newToken

更新用户 token。

当用户在 token 登录状态时,且在 ClientDelegate 回调中收到 token 即将过期的回调通知,可以调用该 API 更新 token,避免因 token 失效产生的未知问题。

同步方法,会阻塞当前线程。

参数
newToken新的 token。
返回
返回结果,如果有错误会返回错误信息。

◆ renewToken:completion:

- (void) renewToken: (NSString *_Nonnull)  newToken
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

更新用户 token。

当用户在 token 登录状态时,且在 ClientDelegate 回调中收到 token 即将过期的回调通知,可以调用该 API 更新 token,避免因 token 失效产生的未知问题。

异步方法。

参数
newToken新的 token。
返回
返回结果,如果有错误会返回错误信息。

◆ serviceCheckWithUsername:password:completion:

- (void) serviceCheckWithUsername: (NSString *_Nonnull)  aUsername
password: (NSString *_Nonnull)  aPassword
completion: ("This method is deprecated")  __deprecated_msg 

服务诊断接口。

根据 EMServerCheckType 枚举的顺序依次诊断当前服务,并回调给开发者。

如果已经登录,默认使用登录账号。

异步方法。

参数
aUsername用户 ID。
aPassword密码。
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ sharedClient

+ (instancetype _Nonnull) sharedClient

Client 类是 chat 的入口,在调用任何其他方法前,需要先调用该方法创建一个 Client 实例。

◆ unBindPushKitToken

- (EMError *_Nullable) unBindPushKitToken

解除 PushKit token 绑定。

该方法与解除注册 unRegisterPushKitTokenWithCompletion 方法作用一致。

苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。

同步方法,会阻塞当前线程。

返回
EMError 错误信息,包含调用失败的原因。

◆ unRegisterPushKitTokenWithCompletion:

- (void) unRegisterPushKitTokenWithCompletion: (void(^)(EMError *_Nullable aError))  aCompletionBlock

解除 PushKit token 注册。

该方法与解除绑定 unBindPushKitToken 方法作用一致。

异步方法。

苹果的 PushKit 推送服务,服务于 VOIP 类型的推送。

◆ uploadDebugLogToServerWithCompletion:

- (void) uploadDebugLogToServerWithCompletion: (void(^)(EMError *_Nullable aError))  aCompletionBlock

上传日志到聊天服务器。

参数
aCompletionBlock该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ uploadLogToServer

- (EMError *_Nullable) uploadLogToServer

上传日志到聊天服务器。

同步方法,会阻塞当前线程。

返回
上传成功则返回 nil,失败则返回错误信息,包含调用失败的原因。

◆ version

- (NSString *) version

SDK 版本号。

属性说明

◆ accessUserToken

- (NSString* _Nullable) accessUserToken
readnonatomicassign

当前用户访问聊天服务器使用的 token。

用户第一次登录时需使用用户 ID 和密码,登录成功则返回 token,后续即可用 token 登录。

◆ chatManager

- (id<IEMChatManager> _Nullable) chatManager
readnonatomicstrong

聊天模块。

◆ contactManager

- (id<IEMContactManager> _Nullable) contactManager
readnonatomicstrong

好友模块。

◆ currentUsername

- (NSString* _Nullable) currentUsername
readnonatomicstrong

当前登录账号。

◆ groupManager

- (id<IEMGroupManager> _Nullable) groupManager
readnonatomicstrong

群组模块。

◆ isAutoLogin

- (BOOL) isAutoLogin
readnonatomicassign

是否让用户自动使用上次登录的账号登录。

  • YES:允许。
  • NO:不允许。

如果因密码错误或账号异常等原因登录失败,则该参数会被重置为 NO;如果你想使用自动登录,则需要重新将该参数设为 YES

◆ isConnected

- (BOOL) isConnected
readnonatomicassign

SDK 是否已连接聊天服务器。

◆ isLoggedIn

- (BOOL) isLoggedIn
readnonatomicassign

用户是否已登录。

◆ options

- (EMOptions* _Nonnull) options
readnonatomicstrong

SDK 的设置选项。

◆ presenceManager

- (id<IEMPresenceManager> _Nullable) presenceManager
readnonatomicstrong

在线状态管理模块。

◆ pushManager

- (id<IEMPushManager> _Nullable) pushManager
readnonatomicstrong

推送模块。

◆ roomManager

- (id<IEMChatroomManager> _Nullable) roomManager
readnonatomicstrong

聊天室模块。

◆ statisticsManager

- (id<IEMStatisticsManager> _Nullable) statisticsManager
readnonatomicstrong

消息流量管理模块。

◆ threadManager

- (id<IEMThreadManager> _Nullable) threadManager
readnonatomicstrong

子区模块。

◆ userInfoManager

- (id<IEMUserInfoManager> _Nullable) userInfoManager
readnonatomicstrong

用户属性模块。

◆ version

- (NSString* _Nonnull) version
readnonatomicstrong

SDK 版本号。


该类的文档由以下文件生成: