DID SDK [运用文档]
一、装置
由于SDK现在尚未发布至GitHub,现在只支持手动装置。
手动装置:
-
将 DIDSDK.framework和DIDSDKBundle.bundle文件拷贝到项目中。
-
进入你的项目,选择
Add files to Your Project Name
。 -
导入 DIDSDK。
graph LR
DIDSDK.framework --> Project{Your Project}
DIDSDKBundle.bundle --> Project
in Swift
import DIDSDK
in Objective-C
#import <DIDSDK/DIDSDK.h>
二、运用
SDK权限设置:
1、翻开info.plist,增加Application supports iTunes file sharing,设置为NO
2、翻开info.plist,增加View controller-based status bar appearance,设置为YES
3、翻开info.plist,增加Privacy – Microphone Usage Description
4、翻开info.plist,增加Privacy – Camera Usage Description
SDK版别要求:
[iOS 11] && [iOS 11 +]
SDK注册:
进入AppDelegate.m中注册SDK:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString * baseUrl = @"";
NSString * qrUrl = @"";
#ifdef DEBUG
baseUrl = @"http://10.8.10.89:31235";
qrUrl = @"https://10.9.244.207:26091";
#else
baseUrl = @"https://h5.cd.host89.xplorer.sensetime.com/";
qrUrl = @"https://10.9.244.207:26091";
#endif
NSString *clientId = @"2ju58mgdr1b18xnc";
NSString *clientKey = @"s1sag5fo0mlakt4pr0yy6nox8kfit1xd";
NSString *phoneNumber = @"13000000011";
NSString *phoneCountryCode = @"86";
[DIDSDKManager.shared registerSDKWithClientId:clientId clientKey:clientKey phoneCountryCode:phoneCountryCode phoneNumber:phoneNumber baseUrl:baseUrl qrUrl:qrUrl resultBlock:^(ResultErrorType type, NSString * _Nonnull msg) {
NSLog(@"Return the Registration Outcome:%ld,message:%@",(long)type, msg);
}];
return YES;
}
当注册回调中,ResultErrorType为RESULTTYPE_SUCCESS_REGISTER时,代表注册成功,更多类型能够检查DIDSDKManagerDefine.h
。
注意: 在运用SDK前,请务必保证在SDK注册成功后,否则将无法正常运用.
开端认证:
当您需求运用SDK的认证服务时:
[[DIDSDKManager shared] startServiceFromeNavi:self.navigationControllerresultBlock:^{
// do something...
}];
当您需求运用SDK的Open API服务时:
您能够导入#import <DIDSDK/DIDNetManager+Post.h>
,并检查DIDNetManager+Post.h中的恳求办法。
恳求回调界说:
/// 数据恳求回调
typedef void (^RequestCompleteServiceBlock)(NSDictionary *dic);
typedef void (^RequestErrorServiceBlock)(NSError *error);
恳求办法界说:
/// Send SMS Messgae
/// - Parameters:
/// - phoneNumber: phoneNumber
/// - phoneCountryCode: phoneCountryCode
/// - channel: channel
+(void)sendSmsMessagingWithPhoneNumber:(NSString *)phoneNumber
phoneCountryCode:(NSString *)phoneCountryCode
channel:(SMSChannel)channel
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// get AccessToken By Face Image
/// - Parameters:
/// - portraitImage: portraitImage
/// - verifyMethod: verifyMethod
/// - block: block
+(void)getAccessTokenByFacePortraitImage:(NSString *)portraitImage
verifyMethod:(VerifyMethod)verifyMethod
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// get AccessToken By Emaie or Phone
/// - Parameters:
/// - email: email description
/// - password: password description
/// - phoneNumber: phoneNumber description
/// - phoneCountryCode: phoneCountryCode description
/// - phonePassCode: phonePassCode description
/// - verifyMethod: verifyMethod
/// - block: block
+(void)getAccessTokenByEmailOrMobileWithEmail:(NSString *)email
password:(NSString *)password
phoneNumber:(NSString *)phoneNumber
phoneCountryCode:(NSString *)phoneCountryCode
phonePassCode:(NSString * )phonePassCode
verifyMethod:(VerifyMethod)verifyMethod
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// User Inquiry
/// - block: block
+(void)getAccountWithCompleteBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// User phone number modification
/// - Parameters:
/// - newPhoneNumber: newPhoneNumber
/// - newPhonePassCode: newPhonePassCode
/// - newPhoneCountryCode: newPhoneCountryCode
/// - block: block
+(void)modificationUserPhoneNumberWithNewPhoneNumber:(NSString *)newPhoneNumber
newPhonePassCode:(NSString *)newPhonePassCode
newPhoneCountryCode:(NSString *)newPhoneCountryCode
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// User attribute modification
/// - Parameters:
/// - userName: userName
/// - familyName: familyName
/// - middleName: middleName
/// - givenName: givenName
/// - avatarImage: avatarImage
/// - portraitImage: portraitImage
/// - idType: idType
/// - idNumber: IidNumber
/// - birthday: birthday,format is yyyy-MM-dd
/// - gender: gender
/// - company: company
/// - address: address
/// - block: block
+(void)modificationUserAttributeWithUserName:(NSString *)userName
familyName:(NSString *)familyName
middleName:(NSString *)middleName
givenName:(NSString *)givenName
avatarImage:(NSString *)avatarImage
portraitImage:(NSString *)portraitImage
idType:(IdType)idType
idNumber:(NSString *)idNumber
birthday:(NSString *)birthday
gender:(GenderType)gender
company:(NSString *)company
address:(NSString *)address
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// User registration
/// - Parameters:
/// - passCode: passCode
/// - email: email
/// - phoneCountryCode: phoneCountryCode
/// - givenName: givenName
/// - userName: userName
/// - familyName: familyName
/// - middleName: middleName
/// - givenName: givenName
/// - avatarImage: avatarImage
/// - portraitImage: portraitImage
/// - idType: idType
/// - idNumber: idNumber
/// - birthday: birthday, format is yyyy-MM-dd
/// - gender: gender
/// - company: company
/// - address: address
/// - block: block
+(void)userRegistrationWithPassCode:(NSString *)passCode
email:(NSString *)email
phoneNumber:(NSString *)phoneNumber
phoneCountryCode:(NSString *)phoneCountryCode
userName:(NSString *)userName
familyName:(NSString *)familyName
middleName:(NSString *)middleName
givenName:(NSString *)givenName
avatarImage:(NSString *)avatarImage
portraitImage:(NSString *)portraitImage
idType:(IdType)idType
idNumber:(NSString *)idNumber
birthday:(NSString *)birthday
gender:(GenderType)gender
company:(NSString *)company
address:(NSString *)address
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// User deletion
/// - block: block
+(void)userDeletionWithCompleteBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// AccessToken refreshing
/// - Parameters:
/// - refreshToken: refreshToken
/// - block: block
+(void)refreshingAccessTokenWithRefreshToken:(NSString *)refreshToken
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// Logout of AccessToken
/// - block: block
+(void)logoutWithCompleteBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// Organizational Information Inquiry
/// - block: block
+(void)getOrganizationalWithCompleteBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
/// kafd-access-control
/// - block: block
+(void)qrcodesWithUserId:(NSString *)userId
completeBlock:(RequestCompleteServiceBlock)successBlock
errorBlock:(RequestErrorServiceBlock)errorBlock;
其间关于SMSChannel、VerifyMethod、IdType、GenderType的界说和阐明,请检查
DIDSDKManagerDefine.h
SDK供给的文件
为了帮助您更好的运用DID SDK,咱们供给的以下头文件和SDK需求的资源文件:
DID SDK Header | Bundle |
---|---|
SDK Manager |
cer |
SDK Network |
img |
SDK Cache |
language |
model |