获得离线活体检测SDK后,您可以参考本文指导将SDK集成到您的iOS应用中。

前提条件

已获取正确的iOS SDK。
说明 iOS SDK与iOS应用包的BundleID绑定。如果您获取的iOS SDK包与iOS应用包的BundleID不一致,请重新下载正确的iOS SDK包。更多信息,请参见下载离线SDK

在工程中导入SDK

  1. 解压离线活体检测SDK,并将以下iOS的依赖包引入到您的项目工程中:
    Aligreen.framework
    MNN.framework
    libcrypto.a
    libssl.a
    SecurityGuardSDK.framework
    SGMain.frameworkSGNoCaptcha.framework
    SGSecurityBody.framework
    说明 导入时必须勾选Copy items if needed,表示自动复制一份相同的文件到工程中,并引用复制后的文件在工程目录中的位置。
  2. 在您的工程中添加以下离线活体检测需要的系统依赖库。
    CoreMotion.framework
    CoreTelephony.framework
    Libc++.tbdLibz.tbd
    SystemConfiguration.framework
    完成以上两个步骤后,您可以在Build Phases > Link Binary With Libraries看到导入的依赖包。如果未看到依赖包,说明导入过程中出现问题,请确认将所有依赖包拷贝到工程项目,并勾选正确的应用目标。依赖包
  3. 导入以下资源文件:
    aligreen-license.bin
    FaceLivenessSDK.bundle
    yw_1222_1d41.jpg
    说明 导入时必须勾选Copy items if needed,表示自动复制一份相同的文件到工程中,并引用复制后的文件在工程目录中的位置。
    导入完成后,您可以在Build Phases > Copy Bundle Resources看到资源文件。如果未看到资源文件,则说明导入过程中出现问题,请确认将所有资源文件拷贝到工程项目,并勾选正确应用目标。资源文件
  4. 修改编译选项。在工程的Build Settings > Other Linker Flags选项中添加-ObjC编译选项

使用SDK

离线活体检测SDK可以指定零动作、一动作和两动作进行检测。检测成功时,将以图片的形式返回活体检测图片;检测失败时,返回相应错误码。

/**
 开始离线活体检测,使用默认配置。

 @param viewController 调用活体检测的视图控制器。
 @param completion 活体检测结果回调。
 */
+ (void)startWithViewController:(UIViewController *)viewController
                     completion:(AGNCompletion _Nullable)completion;

/**
 开始离线活体检测。

 @param viewController 调用活体检测的视图控制器。
 @param configuration 活体检测配置。
 @param completion 活体检测结果回调。
 */
+ (void)startWithViewController:(UIViewController *)viewController
                  configuration:(AGNConfiguration *)configuration
                     completion:(AGNCompletion _Nullable)completion;

错误码说明

错误信息 错误代码 说明
SDK_NOT_INIT -1001 SDK未初始化。
GET_LICENSE_ERROR -1002 获取服务端License失败。
LICENSE_EXPIRED -1003 License已过期。
LICENSE_NOT_RIGHT -1004 License不正确。
ACTION_COUNT_TOO_LARGE -1005 执行动作数量超标。
说明 最多执行两个动作。
ERROR_LICENSE 5000 授权错误。
ERROR_LICENSE_INPUT 5001 输入参数有误,例如envctxlicenseData参数为空等。
ERROR_LICENSE_DATA_FORMAT 5002 licenseData参数格式错误。
ERROR_LICENSE_SIGN 5003 签名校验失败。
ERROR_LICENSE_APKPKG 5004 包名称校验失败。
ERROR_LICENSE_PUBKEY 5005 公钥校验失败。
ERROR_LICENSE_EXPIRE 5006 授权过期。
ERROR_LICENSE_NOT_CHECK 5007 未执行授权检查。
ERROR_LICENSE_BUNDLEID 5008 iOS BundleID校验错误。
ERROR_LICENSE_CLIENT_ID 5009 终端标识校验错误。
ERROR_LICENSE_EXPIRE_DATE_MODIFIED 5010 授权过期且日期被修改。