8 #import <Foundation/Foundation.h>
10 #import "EMClientDelegate.h"
11 #import "EMMultiDevicesDelegate.h"
13 #import "EMPushOptions.h"
16 #import "IEMChatManager.h"
17 #import "IEMContactManager.h"
18 #import "IEMGroupManager.h"
19 #import "IEMChatroomManager.h"
20 #import "IEMPushManager.h"
21 #import "IEMUserInfoManager.h"
23 #import "EMDeviceConfig.h"
33 EMServerCheckAccountValidation = 0,
34 EMServerCheckGetDNSListFromServer,
35 EMServerCheckGetTokenFromServer,
37 EMServerCheckDoLogout,
55 @property (nonatomic, strong, readonly) NSString *version;
64 @property (nonatomic, strong, readonly) NSString *currentUsername;
73 @property (nonatomic, strong, readonly)
EMOptions *options;
83 @property (nonatomic, strong, readonly) id<IEMChatManager> chatManager;
92 @property (nonatomic, strong, readonly) id<IEMContactManager> contactManager;
101 @property (nonatomic, strong, readonly) id<IEMGroupManager> groupManager;
110 @property (nonatomic, strong, readonly) id<IEMChatroomManager> roomManager;
120 @property (nonatomic, strong, readonly) id<IEMPushManager> pushManager;
130 @property (nonatomic, readonly) BOOL isAutoLogin;
139 @property (nonatomic, readonly) BOOL isLoggedIn;
148 @property (nonatomic, readonly) BOOL isConnected;
158 @property (nonatomic, readonly) NSString *accessUserToken;
160 @property (nonatomic, strong, readonly) id<IEMUserInfoManager> userInfoManager;
169 + (instancetype)sharedClient;
172 #pragma mark - Delegate
188 delegateQueue:(dispatch_queue_t)aQueue;
201 - (void)removeDelegate:(
id)aDelegate;
217 delegateQueue:(dispatch_queue_t)aQueue;
232 #pragma mark - Initialize SDK
252 #pragma mark - Change AppKey
269 - (
EMError *)changeAppkey:(NSString *)aAppkey;
272 #pragma mark - User Registeration
295 - (
EMError *)registerWithUsername:(NSString *)aUsername
296 password:(NSString *)aPassword;
318 - (void)registerWithUsername:(NSString *)aUsername
319 password:(NSString *)aPassword
320 completion:(
void (^)(NSString *aUsername,
EMError *aError))aCompletionBlock;
341 - (void)fetchTokenWithUsername:(NSString *)aUsername
342 password:(NSString *)aPassword
343 completion:(
void (^)(NSString *aToken,
EMError *aError))aCompletionBlock;
366 - (
EMError *)loginWithUsername:(NSString *)aUsername
367 password:(NSString *)aPassword;
385 - (void)loginWithUsername:(NSString *)aUsername
386 password:(NSString *)aPassword
387 completion:(
void (^)(NSString *aUsername,
EMError *aError))aCompletionBlock;
410 - (
EMError *)loginWithUsername:(NSString *)aUsername
411 token:(NSString *)aToken;
429 - (void)loginWithUsername:(NSString *)aUsername
430 token:(NSString *)aToken
431 completion:(
void (^)(NSString *aUsername,
EMError *aError))aCompletionBlock;
433 #pragma mark - Logout
455 - (
EMError *)logout:(BOOL)aIsUnbindDeviceToken;
472 - (void)logout:(BOOL)aIsUnbindDeviceToken
473 completion:(
void (^)(
EMError *aError))aCompletionBlock;
475 #pragma mark - PushKit
496 - (
EMError *)bindPushKitToken:(NSData *)aPushToken;
511 - (void)registerPushKitToken:(NSData *)aPushToken
512 completion:(
void (^)(
EMError *aError))aCompletionBlock;
529 - (
EMError *)unBindPushKitToken;
540 - (void)unRegisterPushKitTokenWithCompletion:(
void (^)(
EMError *aError))aCompletionBlock;
563 - (
EMError *)bindDeviceToken:(NSData *)aDeviceToken;
578 - (void)registerForRemoteNotificationsWithDeviceToken:(NSData *)aDeviceToken
579 completion:(
void (^)(
EMError *aError))aCompletionBlock;
599 - (
EMError *)uploadLogToServer;
612 - (void)uploadDebugLogToServerWithCompletion:(
void (^)(
EMError *aError))aCompletionBlock;
633 - (NSString *)getLogFilesPath:(
EMError **)pError;
646 - (void)getLogFilesPathWithCompletion:(
void (^)(NSString *aPath,
EMError *aError))aCompletionBlock;
659 - (void)log:(NSString*)aLog;
661 #pragma mark - Multi Devices
686 - (NSArray *)getLoggedInDevicesFromServerWithUsername:(NSString *)aUsername
687 password:(NSString *)aPassword
707 - (void)getLoggedInDevicesFromServerWithUsername:(NSString *)aUsername
708 password:(NSString *)aPassword
709 completion:(
void (^)(NSArray *aList,
EMError *aError))aCompletionBlock;
736 - (
EMError *)kickDeviceWithUsername:(NSString *)aUsername
737 password:(NSString *)aPassword
738 resource:(NSString *)aResource;
761 - (void)kickDeviceWithUsername:(NSString *)aUsername
762 password:(NSString *)aPassword
763 resource:(NSString *)aResource
764 completion:(
void (^)(
EMError *aError))aCompletionBlock;
787 - (
EMError *)kickAllDevicesWithUsername:(NSString *)aUsername
788 password:(NSString *)aPassword;
805 - (void)kickAllDevicesWithUsername:(NSString *)aUsername
806 password:(NSString *)aPassword
807 completion:(
void (^)(
EMError *aError))aCompletionBlock;
828 - (BOOL)migrateDatabaseToLatestSDK;
841 - (void)applicationDidEnterBackground:(
id)aApplication;
854 - (void)applicationWillEnterForeground:(
id)aApplication;
869 - (void)application:(
id)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
871 #pragma mark - Service Check
890 - (void)serviceCheckWithUsername:(NSString *)aUsername
891 password:(NSString *)aPassword
892 completion:(
void (^)(EMServerCheckType aType,
EMError *aError))aCompletionBlock;
894 #pragma mark - EM_DEPRECATED_IOS 3.7.2
902 @property (nonatomic, strong, readonly)
EMPushOptions *pushOptions EM_DEPRECATED_IOS(3_1_0, 3_7_2,
"Use -[IEMPushManager.pushOptions]");
924 - (
EMError *)setApnsNickname:(NSString *)aNickname EM_DEPRECATED_IOS(3_1_0, 3_7_2, "Use -[
IEMPushManager:setApnsNickname:]");
940 - (void)updatePushNotifiationDisplayName:(NSString *)aDisplayName
941 completion:(
void (^)(NSString *aDisplayName,
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_7_2, "Use -[
IEMPushManager:updatePushNotifiationDisplayName:completion:]");
975 - (void)getPushNotificationOptionsFromServerWithCompletion:(
void (^)(
EMPushOptions *aOptions,
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_7_2, "Use -[
IEMPushManager:getPushNotificationOptionsFromServerWithCompletion:]");
992 - (
EMError *)updatePushOptionsToServer EM_DEPRECATED_IOS(3_1_0, 3_7_2, "");
1005 - (void)updatePushNotificationOptionsToServerWithCompletion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_7_2, "");
1007 #pragma mark - EM_DEPRECATED_IOS 3.2.3
1020 - (void)addDelegate:(
id<
EMClientDelegate>)aDelegate EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -[IEMCallManager addDelegate:delegateQueue:]");
1022 #pragma mark - EM_DEPRECATED_IOS < 3.2.3
1046 - (void)asyncRegisterWithUsername:(NSString *)aUsername
1047 password:(NSString *)aPassword
1048 success:(
void (^)())aSuccessBlock
1049 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -registerWithUsername:password:completion:");
1070 - (void)asyncLoginWithUsername:(NSString *)aUsername
1071 password:(NSString *)aPassword
1072 success:(
void (^)())aSuccessBlock
1073 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -loginWithUsername:password:completion");
1091 - (void)asyncLogout:(BOOL)aIsUnbindDeviceToken
1092 success:(
void (^)())aSuccessBlock
1093 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -logout:completion:");
1111 - (void)asyncBindDeviceToken:(NSData *)aDeviceToken
1112 success:(
void (^)())aSuccessBlock
1113 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -registerForRemoteNotificationsWithDeviceToken:completion:");
1131 - (void)asyncSetApnsNickname:(NSString *)aNickname
1132 success:(
void (^)())aSuccessBlock
1133 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -updatePushNotifiationDisplayName:copletion");
1148 - (void)asyncGetPushOptionsFromServer:(
void (^)(
EMPushOptions *aOptions))aSuccessBlock
1149 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -getPushOptionsFromServerWithCompletion:");
1165 - (void)asyncUpdatePushOptionsToServer:(
void (^)())aSuccessBlock
1166 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -updatePushNotificationOptionsToServerWithCompletion:");
1181 - (void)asyncUploadLogToServer:(
void (^)())aSuccessBlock
1182 failure:(
void (^)(
EMError *aError))aFailureBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -uploadDebugLogToServerWithCompletion:");
1203 - (BOOL)dataMigrationTo3 EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -migrateDatabaseToLatestSDK");
1232 username:(NSString *)aUsername
1233 password:(NSString *)aPassword EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use - kickDeviceWithUsername:password:resource:");
1256 username:(NSString *)aUsername
1257 password:(NSString *)aPassword
1258 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use - kickDeviceWithUsername:password:resource:completion:");
Definition: EMClient.h:44
Definition: EMDeviceConfig.h:18
Definition: EMOptions.h:40
Definition: EMPushOptions.h:59
Definition: EMClientDelegate.h:38
Definition: EMMultiDevicesDelegate.h:56
Definition: IEMPushManager.h:16