日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

iOS客戶端接入

本文為您介紹iOS客戶端本機號碼校驗的集成方法及接口的功能示例。

說明

在使用過程中如有疑問,可以提交工單聯系阿里云技術工程師處理。

下載SDK

登錄號碼認證產品控制臺,在概覽頁面右側API&SDK區域,單擊立即下載,進入API&SDK頁面,根據頁面提示下載并解壓對應SDK。

創建認證方案

您導入項目或調用API接口時,會用到方案Code等參數信息,請先在號碼認證產品控制臺創建認證方案,獲取方案Code等參數信息。

集成方式

集成分動態庫靜態庫ATAuthSDK_D.frameworkATAuthSDK.framework不能同時集成到工程里,兩者是同一個SDK,前者是動態庫,后者是靜態庫。

  • 若您集成靜態庫,則需要集成以下組件:

    ATAuthSDK.frameworkYTXMonitor.frameworkYTXOperators.framework

  • 若您集成動態庫,則需要集成以下組件:

    ATAuthSDK_D.framework

集成靜態庫操作

  1. 創建工程。

    下載并安裝Xcode,點擊Create a new Xcode project,根據頁面引導創建一個新工程。

  2. 添加主庫和系統庫。

    • 方式一:在菜單欄選擇Targets > Build Phases > Link Binary With Libraries,添加主庫ATAuthSDK.frameworkYTXMonitor.frameworkYTXOperators.framework,添加系統庫Network.framework33

    • 方式二:在Xcode中Targets > General > Frameworks,Libraries, and Embedded Content,添加主庫ATAuthSDK.frameworkYTXMonitor.frameworkYTXOperators.framework,添加系統庫Network.framework

      說明

      添加主庫時Embed選擇Do Not Embed類型。

      35

    iOS12.0版本開始支持Network.framework,請在菜單欄選擇Targets > Build Phases > Linked Frameworks and Libraries > Status,將Status設置為弱依賴關系。

  3. BuildSettings設置。

    在菜單欄選擇Targets > BuildSettings > Other Linker Flags

    Other Linker Flags增加-ObjC-framework"YTXOperators"image

  4. 添加ATAuthSDK.bundle資源文件。

    主項目右鍵添加ATAuthSDK.framework > ATAuthSDK.bundle資源?件,否則?鍵登錄授權頁面默認的圖片或icon不顯示。

    或在Targets > Build Phases > Copy Bundle Resources,添加ATAuthSDK.bundleimage

集成動態庫操作

  • 動態庫不一定包含模擬器架構,可使用lipo -info指令查詢動態庫支持的模擬器架構。若因包含模擬器架構而導致編譯報錯,請使用lipo -thin指令剔除可執行文件中的模擬器架構。

  • 無需將動態庫解壓文件直接拖到工程中,因解壓包含有ATAuthSDK_D.framework.dSYM符號文件,該文件是線上crash符號翻譯專用,如果放到工程中會影響App上架審核,只需將ATAuthSDK_D.framework拖進工程即可。

  1. 添加主庫。

    • 方式一:在Xcode中Targets > General > Frameworks,Libraries, and Embedded Content,添加主庫ATAuthSDK_D.framework

      說明

      添加主庫時Embed選擇Embed & Sign類型。

      image

    • 方式二:

      Targets > Build Phases > Link Binary With LibrariesEmbed Frameworks,添加主庫ATAuthSDK_D.frameworkimage

  2. 添加ATAuthSDK.bundle資源文件。

    主項目右鍵添加ATAuthSDK.framework > ATAuthSDK.bundle資源?件,否則?鍵登錄授權頁面默認的圖片或icon不顯示。

    或在Targets > Build Phases > Copy Bundle Resources,添加ATAuthSDK.bundleimage

交互流程詳解

完整的功能交互流程請參見本機號碼校驗交互流程

SDK方法說明

獲取認證實例(sharedInstance)

/**
 *  獲取該類的單例實例對象
 *  @return  單例實例對象
 */
+ (instancetype _Nonnull )sharedInstance;

使用示例

TXCommonHandler *handller = [TXCommonHandler sharedInstance];

設置SDK密鑰(setAuthSDKInfo)

/**
 *  初始化SDK調用參數,App生命周期內調用一次
 *  @param  info app對應的密鑰
 *  @param  complete 結果異步回調到主線程,成功時resultDic=@{resultCode:600000, msg:...},其他情況時"resultCode"值請參考PNSReturnCode
 */
- (void)setAuthSDKInfo:(NSString * _Nonnull)info complete:(void(^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

使用示例

    [[TXCommonHandler sharedInstance] setAuthSDKInfo:@"xxxx"
                                            complete:^(NSDictionary * _Nonnull resultDic) {
        NSLog(@"設置密鑰結果:%@", resultDic);
    }];

加速獲取本機號碼校驗Token(accelerateVerifyWithTimeout)

/**
 *  加速獲取本機號碼校驗token,防止調用 getVerifyTokenWithTimeout:complete: 獲取token時間過長
 *  @param  timeout 接口超時時間,單位s,默認為3.0s
 *  @param  complete 結果異步回調到主線程,成功時resultDic=@{resultCode:600000, token:..., msg:...},其他情況時"resultCode"值請參考PNSReturnCode
 */
- (void)accelerateVerifyWithTimeout:(NSTimeInterval)timeout complete:(void (^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

使用示例

    [[TXCommonHandler sharedInstance] accelerateVerifyWithTimeout:3.0
                                                         complete:^(NSDictionary * _Nonnull resultDic) {
        NSLog(@"為后面獲取本機號碼校驗Token加個速,加速結果:%@", resultDic);
    }];

本機號碼校驗獲取Token(getVerifyTokenWithTimeout)

/**
 *  獲取本機號碼校驗Token
 *  @param  timeout 接口超時時間,單位:秒,默認為3.0s
 *  @param  complete 結果異步回調到主線程,成功時resultDic=@{resultCode:600000, token:..., msg:...},其他情況時"resultCode"值請參考PNSReturnCode
 */
- (void)getVerifyTokenWithTimeout:(NSTimeInterval)timeout complete:(void (^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

使用示例

  [[TXCommonHandler sharedInstance] getVerifyTokenWithTimeout:3.0
                                                       complete:^(NSDictionary * _Nonnull resultDic) {
        NSLog(@"獲取本機號碼校驗Token返回:%@", resultDic);
    }];

其他接口說明

選調方法:獲取版本號

/**
 *  獲取當前SDK版本號
 *  @return 字符串,SDK版本號
 */
- (NSString *_Nonnull)getVersion;

使用示例

NSString *version = [[TXCommonHandler sharedInstance] getVersion];

選調方法:環境檢查

/**
 *  檢查當前環境是否支持一鍵登錄或號碼認證,resultDic返回 PNSCodeSuccess說明當前環境支持
 *  @param  authType 服務類型 PNSAuthTypeVerifyToken 本機號碼校驗流程,PNSAuthTypeLoginToken 一鍵登錄流程
 *  @param  complete 結果異步回調到主線程,成功時resultDic=@{resultCode:600000, msg:...},其他情況時"resultCode"值請參考PNSReturnCode,只有成功回調才能保障后續接口調用
 */
- (void)checkEnvAvailableWithAuthType:(PNSAuthType)authType complete:(void (^_Nullable)(NSDictionary * _Nullable resultDic))complete;

使用示例

[[TXCommonHandler sharedInstance] checkEnvAvailableWithAuthType:PNSAuthTypeVerifyToken complete:^(NSDictionary * _Nullable resultDic) {
        NSLog(@"環境檢查結果:%@",resultDic);
}];

選調方法:設置checkbox選中狀態

/**
 *  授權頁彈起后,修改checkbox按鈕選中狀態,當checkout按鈕隱藏時,設置不生效
 */
- (void)setCheckboxIsChecked:(BOOL)isChecked;

使用示例

[[TXCommonHandler sharedInstance] setCheckboxIsChecked:YES];

選調方法:隱藏一鍵登錄獲取登錄Token后的等待動畫

/**
 *  手動隱藏一鍵登錄獲取登錄Token之后的等待動畫,默認為自動隱藏,當設置 TXCustomModel 實例 autoHideLoginLoading = NO 時, 可調用該方法手動隱藏
 */
- (void)hideLoginLoading;

使用示例

[[TXCommonHandler sharedInstance] hideLoginLoading];

日志埋點控制對象

獲取到該對象后可以進行相關的日志設置。

/**
 *  獲取日志埋點相關控制對象
 */
- (PNSReporter * _Nonnull)getReporter;

使用示例

PNSReporter *reporter = [[TXCommonHandler sharedInstance] getReporter];

控制臺日志輸出開關

/**
 *  控制臺日志輸出開關,若開啟會以PNS_LOGGER為開始標記對日志進行輸出,Release模式記得關閉!
 *  @param enable 開關參數,默認為NO
 */
- (void)setConsolePrintLoggerEnable:(BOOL)enable;

使用示例

PNSReporter *reporter = [[TXCommonHandler sharedInstance] getReporter];
[reporter setConsolePrintLoggerEnable:YES];

設置日志及埋點上傳開關

/**
 *  設置日志及埋點上傳開關,但不會對通過 setupUploader: 接口實現的自定義上傳方法起作用
 *  @param  enable 開關設置BOOL值,默認為YES
 */
- (void)setUploadEnable:(BOOL)enable;

使用示例

PNSReporter *reporter = [[TXCommonHandler sharedInstance] getReporter];
[reporter setUploadEnable:YES];

工具類TXCommonUtils

判斷設備蜂窩網絡是否開啟(checkDeviceCellularDataEnable)

/**
 判斷當前設備蜂窩數據網絡是否開啟,即3G、4G
 @return 結果
 */
+ (BOOL)checkDeviceCellularDataEnable;

判斷當前上網卡是否是中國聯通(isChinaUnicom)

/**
判斷當前上網卡運營商是否是中國聯通
@return 結果
*/
+ (BOOL)isChinaUnicom;

判斷當前上網卡是否是中國移動(isChinaMobile)

/**
判斷當前上網卡運營商是否是中國移動
@return 結果
*/
+ (BOOL)isChinaMobile;

判斷當前上網卡是否是中國電信(isChinaTelecom)

/**
判斷當前上網卡運營商是否是中國電信
@return 結果
*/
+ (BOOL)isChinaTelecom;

獲取當前上網卡運營商名稱(getCurrentCarrierName)

/**
獲取當前上網卡運營商名稱,比如中國移動、中國電信、中國聯通
@return 結果
*/
+ (NSString *)getCurrentCarrierName;

獲取當前上網網絡類型(getNetworktype)

/**
獲取當前上網卡網絡類型,比如Wi-Fi,4G
@return 結果
*/
+ (NSString *)getNetworktype;

判斷設備是否有SIM卡(simSupportedIsOK)

/**
判斷當前設備是否有SIM卡
@return 結果
*/
+ (BOOL)simSupportedIsOK;

判斷無線網絡是否開啟(isWWANOpen)

/**
 判斷無線網絡是否開著(通過p0網卡判斷,無Wi-Fi或有Wi-Fi情況下都能檢測到)
 @return 結果
 */
+ (BOOL)isWWANOpen;

判斷無Wi-Fi下無線網絡是否開啟(reachableViaWWAN)

/**
 判斷無線網絡是否開啟(僅無Wi-Fi情況下)
 @return 結果
 */
+ (BOOL)reachableViaWWAN;

獲取設備當前網絡私網IP地址(getMobilePrivateIPAddress)

/**
 獲取設備當前網絡私網IP地址
  @return 結果
 */
+ (NSString *)getMobilePrivateIPAddress:(BOOL)preferIPv4;

獲取當前設備的唯一標識ID(getUniqueID)

/**
 獲取當前設備的唯一標識ID,用于埋點的精確查找使用
 */
+ (NSString *)getUniqueID;

通過顏色設置生成圖片(imageWithColor)

/**
通過顏色設置生成圖片,支持弧度設置,比如一鍵登錄按鈕背景圖片
*/
+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size isRoundedCorner:(BOOL )isRounded radius:(CGFloat)radius;