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

iOS客戶端接入教程

人臉核身提供iOS客戶端SDK,幫助您在App中實現刷臉認證功能。您可通過核身認證移動端請求接口獲取實人認證唯一標識VerificationToken,并使用VerificationToken喚起人臉核身客戶端SDK。本文將結合示例代碼進行詳細的說明介紹。

說明

阿里云視覺智能開放平臺各類目視覺AI能力API接入、接口使用或問題咨詢等,請通過釘釘群(23109592)加入阿里云視覺智能開放平臺咨詢群聯系我們。

前提條件

  • 應用必須在iOS 9.0+真機平臺上運行。

  • 您必須采用Objective C++集成人臉核身服務。

獲取SDK和Demo代碼

  • 下載iOS SDK

  • 下載iOS Demo

    下載iOS Demo后需要修改bundle Identifier。

重要

模擬器使用存在安全風險,暫不支持在模擬器上運行。

開發環境配置

  1. 在info.plist中配置攝像頭權限請求。

    權限請求

  2. 在Xcode的編譯設置中關閉Bitcode選項。

    Bitcode

  3. 在Xcode編譯設置的Linking > Other Linker Flags中,添加設置-ObjC

    image

拷貝資源文件

選擇TARGETS,選擇Build Phases標簽頁,在Copy Bundle Resources中添加如下四個bundle:

  • APBToygerFacade.bundle:位于APBToygerFacade.framework中。

  • BioAuthEngine.bundle:位于BioAuthEngine.framework中。

  • OCRXMedia.bundle:所在位置為OCRDetectSDKForTech.framework中。

  • ToygerService.bundle:所在位置為ToygerService.framework中。

image

配置依賴

下載iOS SDK(SDK為framework包)后,在Xcode的Link Binary With Libraries添加SDK包和額外系統庫依賴。具體如下:

  • SDK中的包

    APBToygerFacade
    APPSecuritySDK
    BioAuthEngine
    DTFIdentityManager
    DTFMobileRPC
    DTFUtility
    OCRDetectSDKForTech
    ToygerNative
    ToygerService
    ZolozFaceAuthFacade
  • 系統庫依賴

    CoreGraphics.framework
    Accelerate.framework
    SystemConfiguration.framework
    AssetsLibrary.framework
    CoreTelephony.framework
    QuartzCore.framework
    CoreFoundation.framework
    CoreLocation.framework
    ImageIO.framework
    CoreMedia.framework
    AVFoundation.framework
    WebKit.framework
    libresolv.tbd
    libz.tbd
    libc++.1.tbd
    libc++abi.tbd
    AudioToolbox.framework
    CFNetwork.framework
    MobileCoreServices.framework
    libz.1.2.8.tbd
    AdSupport.framework

調用SDK

  1. 引入頭文件。

    #import <ZolozFaceAuthFacade/ZolozFaceAuthFacade.h>
  2. 初始化SDK。

    初始化SDK的代碼為:

    [ZolozFaceAuthFacade init];

    增加初始化接口的目的在于提高身份核驗的用戶體驗,為刷臉認證準備一些必備數據。初始化接口是異步執行,不會影響主線程UI渲染,建議接入方將初始化接口放在appdelegate的如下函數中調用:

    -(BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions
  3. 獲取metainfo數據。

    [ZolozFaceAuthFacade getMetaInfo];

    返回值為NSDictionary,接入方移動端需要將其轉換為JSON字符串,調用移動端的核身認證移動端請求接口時在請求參數MetaInfo中傳入該值。

  4. 開始認證。

    • 調用SDK

      [ZolozFaceAuthFacade verifyWith:self.verificationToken extParams:extParams onCompletion:^(ZIMResponse *response) {}];
    • 參數說明

      • verificationToken:NSString類型,通過調用移動端的核身認證移動端請求接口獲取VerificationToken的對應值。

        說明

        調用核身認證移動端請求接口返回的verificationToken有效期時間為30分鐘,從verificationToken生成時間開始算起,超過有效期再進行人臉認證會報錯,請在有效期時間內完成認證。

      • extParams:NSDictionary類型。必須傳入當前viewController,用于展現等待圖標和presentViewController。

        [extParams setValue:self forKey:@"currentCtr"];

        (非必須,默認不返回)返回視頻:在extParams里面添加returnVideo,設置值為true,視頻存儲的路徑:verifyWith接口返回的參數里,ZIMResponse類型參數的videoFilePath字段。

        [extParams setValue:@"true" forKey:@"returnVideo"];
    • 示例代碼

      [ZolozFaceAuthFacade verifyWith:self.verificationToken extParams:extParams onCompletion:^(ZIMResponse *response) {
          dispatch_async(dispatch_get_main_queue(), ^{
            NSString *title = @"刷臉成功";
            switch (response.code) {
              case 1000:
                  break;
              case 1001:
                  title = @"系統錯誤";
                  break;
              case 1003:
                  title = @"用戶退出";
                  break;
              case 2002:
                  title = @"網絡錯誤";
                  break;
              case 2006:
                  title = @"刷臉失敗";
                  break;
              case 2003:
                  title = @"設備時間不準確";
                  break;
              default:
                  break;
          }
        });
      }];
    • 返回結果espons.code有以下六種返回值,類型為整型。

      HttpCode

      錯誤碼

      描述

      1000

      ZIMResponseSuccess

      表示刷臉成功,該結果僅供參考,可通過移動端核身認證移動端查詢獲取最終認證結果。

      1001

      ZIMInternalError

      表示系統錯誤。

      1003

      ZIMInterrupt

      表示驗證中斷。

      2002

      ZIMNetworkfail

      表示網絡錯誤。

      2003

      ZIMTIMEError

      表示設備時間設置不對。

      2006

      ZIMResponseFail

      表示刷臉失敗,如需獲取更詳細的失敗原因,可通過移動端核身認證移動端查詢獲取最終認證結果。

      了解更多信息,請參見iOS客戶端錯誤碼詳情

      [ZolozFaceAuthFacade verifyWith:self.verificationToken extParams:extParams onCompletion:^(ZIMResponse *response) {}];

      response.imageContent:返回采集到的人臉圖片數據,格式為NSData。如果用戶中途退出或者超時,則圖片數據為nil。客戶上傳圖片到移動端時,不能對NSData進行任何壓縮或者縮放,因為移動端會對圖片做MD5校驗,如果有壓縮或者縮放,會導致MD5值不一致。將NSData轉換成圖的示例如下:

      UIImage* newImage = [UIImage imageWithData:response.imageContentData];

      response.reason和response.retMessageSub:返回原因或者認證文案。

AppStore上架注意事項

AppStore上架時,請確保您的App已申請了如下權限,并在Info.plist中已添加相關說明,否則AppStore將上架失敗:

  • Camera權限,需在Info.plist中已添加NPrivacy - Camera Usage Description說明。

  • IDFA權限,需在Info.plist中已添加NSUserTrackingUsageDescription說明。說明文字可以結合您的業務情況進行描述,參考文案:“請放心,開啟權限不會獲取您在其他APP或網站的隱私信息,該權限僅用于標識設備并保障實名認證流程安全、提升服務使用體驗。”。