通过Swift Package接入ZOLOZ iOS SDK

本文介绍通过Swift Package接入ZOLOZ iOS SDK的完整流程。

概述

Swift Package版SDK与CocoaPods版SDK的核心功能相同,在集成方式和依赖管理上略有差异。

Swift Package版SDK采用XCFramework格式,支持在Apple芯片模拟器上编译和运行。

前提条件

在接入ZOLOZ iOS SDK之前,请确保您使用的开发工具为Xcode 15.0及以上版本。

接入步骤

步骤1:添加包依赖

  1. 在Xcode中,选择File > Add Package Dependencies...。
    image
  2. 在弹窗右上角的搜索框中输入仓库地址,地址为https://github.com/zoloz-pte-ltd/zoloz-demo-ios。
    image
  3. 在Dependency Rule区域选择Exact Version,并输入版本号(例如2.2.1),然后单击Add Package。
    image
  4. 在弹出的Choose Package Products窗口中,根据您的业务需求选择需要引入的Products。
    image

产品功能

Product名称

说明

基础功能(必选)

ZolozKitWithWebContainer

包含RealID、Face Capture、ID Recognition、Deeper等基础功能。

NFC Reader

ZolozKitNfcReader

如果您需要额外使用NFC Reader功能,请集成该Product。

VideoVerify

ZolozKitVideoVerify

如果您需要额外使用视频核身功能,请集成该Product。

GeoTrust Locator

ZolozKitLocationCheck

如果您需要额外使用定位功能,请集成该Product。

  1. 设置完成后单击Add Package。

步骤2:检查SDK引用结果

SDK引用成功后,在您的项目的Package Dependencies中可以看到已添加的zolozkit。

验证接入结果

接入完成后,您可以通过以下两项测试验证SDK是否接入成功。

检查Metainfo获取结果

在您的项目中运行以下代码获取Metainfo,如果成功显示Metainfo信息,表示SDK接入成功。

copy
let metainfo = ZLZFacade.getMetaInfo();
print(metainfo)

以下是完整的Metainfo示例:

copy
{
    "appVersion": "1", 
    "bioMetaInfo": "3.46.0:0,2;RJBBACRJIIFQGQDKRIJ4BNJADJJB;2.1.2.260114104408", 
    "appName": "com.zoloz.flamingo", 
    "deviceType": "ios", 
    "osVersion": "iOS 26.1", 
    "keyHash": "5EBCF1", 
    "buildVersion": "2.1.2.260114104408", 
    "apdidToken": "ZLZDD82FDC4D7014D46BFCF0541ED50****", 
    "deviceModel": "iPhone13,3"
}

检查资源文件引入结果

在您的项目中运行以下代码,检查ZOLOZ所需的资源文件是否引入成功。

copy
let url = Bundle.main.url(forResource: "zolozkit_resources", withExtension: "bundle")
if let bundleURL = url, let bundle = Bundle(url: bundleURL) {
    let files = try! FileManager.default.contentsOfDirectory(atPath: bundle.resourcePath!)
    let msg = files.joined(separator: ", ")
    print(msg)
    let alert = UIAlertController(title: "Zoloz Bundles", message: msg, preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default))
    self.present(alert, animated: true)
} else {
    let alert = UIAlertController(title: "Error", message: "zolozkit_resources.bundle not found", preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "CLOSE", style: .default))
    self.present(alert, animated: true)
}

如果能够正确显示以下文件,表示SDK及其资源文件已接入成功。

copy
WebContainerLite.bundle, ZolozNfcReader.bundle, ToygerService.bundle, Info.plist, BioAuthEngine.bundle, ZolozKit.bundle