通过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:添加包依赖
- 在Xcode中,选择File > Add Package Dependencies...。

- 在弹窗右上角的搜索框中输入仓库地址,地址为https://github.com/zoloz-pte-ltd/zoloz-demo-ios。

- 在Dependency Rule区域中选择Branch,并输入分支名称master,然后单击Add Package。

- 选择需要引入的Package Products,设置完成后单击Add Package。
- 非特殊定制版SDK客户,请将
ZolozKitWithoutWebContainer设置为None。
- 如果您不需要使用NFC功能,请将
ZolozKitNfcReader设置为None。
步骤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



