DID SDK [运用文档]

一、装置

由于SDK现在尚未发布至GitHub,现在只支持手动装置。

手动装置:

  1. DIDSDK.frameworkDIDSDKBundle.bundle文件拷贝到项目中。

  2. 进入你的项目,选择Add files to Your Project Name

  3. 导入 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;
}

当注册回调中,ResultErrorTypeRESULTTYPE_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;

其间关于SMSChannelVerifyMethodIdTypeGenderType的界说和阐明,请检查DIDSDKManagerDefine.h

SDK供给的文件

为了帮助您更好的运用DID SDK,咱们供给的以下头文件和SDK需求的资源文件:

DID SDK Header Bundle
SDK Manager cer
SDK Network img
SDK Cache language
model
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。