签名 SDK 开发文档
集成与接口参考

iOS

4.1.3-alpha.19

安装依赖后执行 pod install --repo-update,使用生成的 .xcworkspace 打开工程。

使用 Objective-C 或 Swift 调用 YWXSignManager。

版本和标准安装

项目精确值
主 PodYWXSignSDK,4.1.3-alpha.19
可选原生包装 PodBjcaSignSDK,4.1.3-alpha.19;精确依赖同版本主 Pod
SDK 运行时版本versionString 返回 4.1.3-alpha.19
最低 iOS15.0
模块YWXSignSDK
公网 Specshttps://github.com/yiwangxin/YWXSignSDK-Specs.git
ruby
source 'https://github.com/yiwangxin/YWXSignSDK-Specs.git'
source 'https://cdn.cocoapods.org/'
platform :ios, '15.0'

target 'YourApp' do
  pod 'YWXSignSDK', '= 4.1.3-alpha.19'
end

权限与应用配置

Info.plist 权限配置:

键适用场景
NSCameraUsageDescription扫码或证书认证调用相机
NSMicrophoneUsageDescription认证网页的音视频或麦克风调用
NSFaceIDUsageDescriptionFace ID 能力检查及签名认证
NSPhotoLibraryUsageDescription读取相册时
NSPhotoLibraryAddUsageDescription保存到相册时
LSApplicationQueriesSchemes 中 weixin、wechat使用相应微信跳转查询时

初始化与环境配置

重点:认证客户使用 YWXEnvironmentPublic,医信客户使用 YWXEnvironmentSZYX。
objc
#import <YWXSignSDK/YWXSignSDK.h>

YWXSignManager *sdk = [YWXSignManager sharedManager];
[sdk startWithClientId:clientId environment:YWXEnvironmentPublic];
// 集成环境使用 YWXEnvironmentTest。
swift
import YWXSignSDK

YWXSignManager.shared().start(withClientId: clientID, environment: .public)
// 医信客户使用 .SZYX;集成环境使用 .test。

接口说明

获取 SDK 实例

接口: sharedManager

取得 YWXSignManager 单例。

调用示例

objc
YWXSignManager *sdk = [YWXSignManager sharedManager];

参数: 无。

返回结果

返回类型:instancetype。

返回 YWXSignManager 单例。

获取设备标识

接口: getDeviceIdWithCompletion:

获取 SDK 业务请求使用的设备标识。

调用示例

objc
[sdk getDeviceIdWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

同步回调;成功 data 为 {deviceId: String},失败 status 为 007x001。

导出加密日志

接口: exportEncryptedLogsWithCompletion:

导出 SDK 本地加密日志文件。

调用示例

objc
[sdk exportEncryptedLogsWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

异步回调;成功 data 包含 path、segmentCount、failedRecordCount 和可选 recordingFailure;失败为 007x001。

data 字段

data字段类型含义
pathNSString导出文件路径。
segmentCountNSNumber此次密文分片数,可能为0。
failedRecordCountNSNumber日志记录失败数量。
recordingFailure可选字符串日志记录失败说明。

初始化与设置环境

接口: startWithClientId:environment:

设置 clientId 和 SDK 服务环境。

调用示例

objc
[sdk startWithClientId:clientId
    environment:environment];
参数类型说明
clientIdNSString *分配给接入应用的 clientId
environmentYWXEnvironment生产使用 YWXEnvironmentPublic 或 YWXEnvironmentSZYX;集成使用 YWXEnvironmentTest

返回结果

返回类型:void。

无返回值。

environment 取值

常量值服务地址
YWXEnvironmentPublic0https://www.51trust.com
YWXEnvironmentSZYX1https://www.51szyx.com
YWXEnvironmentTest(集成)2https://test.51trust.com
currentEnvironmentYWXEnvironment当前环境枚举。
currentEnvironmentURLNSString* nonnull当前服务根地址。

设置导航栏颜色

接口: setupUIForNavigationBarTintColor:navigationBarBackgroundColor:

设置 SDK 导航栏文字和背景颜色。

调用示例

objc
[sdk setupUIForNavigationBarTintColor:navigationBarTintColor
    navigationBarBackgroundColor:navigationBarBackgroundColor];
参数类型说明
navigationBarTintColorUIColor *导航栏文字与按钮颜色
navigationBarBackgroundColorUIColor *导航栏背景颜色

返回结果

返回类型:void。

无返回值。

设置页面语言

接口: changePreferredLanguage:

切换 SDK 页面的显示语言。

调用示例

objc
[sdk changePreferredLanguage:language];
参数类型说明
languageNSString *语言标识,取值见返回说明

返回结果

返回类型:void。

无返回值;language 支持 zh-Hans、en。

相关只读属性

属性类型含义
currentLanguageNSString* nonnullSDK 页面语言。

查询本地证书

接口: existsCertWithPhone:

查询指定手机号的本地证书是否存在。

调用示例

objc
BOOL result = [sdk existsCertWithPhone:phone];
参数类型说明
phoneNSString *当前用户的 11 位手机号

返回结果

返回类型:BOOL。

返回 BOOL,存在本地证书为 YES,否则为 NO。

相关只读属性

属性类型含义
existsCertBOOL当前用户是否有本地证书。

下载证书

接口: certDownWithPhone:completion:

打开 SDK 证书申领与下载流程。

调用示例

objc
[sdk certDownWithPhone:phone
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
phoneNSString *当前用户的 11 位手机号
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回下载结果:0 成功、3000 取消,其余状态为失败。

completion 类型

objc
typedef void (^YWXCompletion)(YWXSignStatusCode status,
                              NSString *message,
                              id _Nullable data);

completion 回调字段

字段类型说明
statusYWXSignStatusCode0 成功,3000 取消,其余为失败码
messageNSString结果说明
dataid,可为 nil接口返回数据

更新证书

接口: certUpdateWithCompletion:

打开当前用户的证书更新流程。

调用示例

objc
[sdk certUpdateWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回更新结果:0 成功、1007 未到可更新时间、3000 取消。

重置签名密码

接口: certResetPinWithCompletion:

打开签名 PIN 重置流程。

调用示例

objc
[sdk certResetPinWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回 PIN 重置结果,相关状态见错误码表。

查看证书详情

接口: showCertDetailWithCompletion:

打开 SDK 证书详情页面。

调用示例

objc
[sdk showCertDetailWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

关闭详情页返回 3000;证书查询失败返回对应错误码和说明。

清除本地证书

接口: clearCert

清除当前用户的本地证书及相关授权状态。

调用示例

objc
BOOL result = [sdk clearCert];

参数: 无。

返回结果

返回类型:BOOL。

返回 BOOL,表示本地清理结果。

获取用户信息

接口: requestUserInfoWithCompletion:

查询当前证书用户的资料。

调用示例

objc
[sdk requestUserInfoWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为用户资料字典,deviceFit 为 NSNumber(BOOL),表示资料中的设备标识是否与本机一致。

相关只读属性

属性类型含义
openIdNSString* nullable当前用户 OpenId,无证书时可为 nil。

设置签章图片

接口: drawStampWithCompletion:

打开 SDK 手写签章页面并保存签章。

调用示例

objc
[sdk drawStampWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回保存结果;成功后可读取 signatureBase64EncodedString。

相关只读属性

属性类型含义
signatureBase64EncodedStringNSString* nullableBase64 签章图片,无签章为 nil。

签署待签数据

接口: signWithUniqueIdList:completion:

对服务端生成的待签 ID 列表完成签署。

调用示例

objc
[sdk signWithUniqueIdList:uniqueIdList
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
uniqueIdListNSArray<NSString *> *服务端生成的待签 ID 列表,1~100 项
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回签署结果:0 成功、3000 取消;单次 1~100 个待签 ID。

协同签名

接口: teamSignWithUniqueIdList:completion:

对协同签名业务的待签 ID 列表完成签署。

调用示例

objc
[sdk teamSignWithUniqueIdList:uniqueIdList
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
uniqueIdListNSArray<NSString *> *服务端生成的待签 ID 列表,1~100 项
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回协同签署结果:0 成功、3000 取消。

完成授权登录

接口: startOauthLogin:grantOpenId:grantUserName:completion:

根据授权请求和所选授权人完成登录流程。

调用示例

objc
[sdk startOauthLogin:uuid
    grantOpenId:grantOpenId
    grantUserName:grantUserName
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
uuidNSString *授权登录请求 ID
grantOpenIdnullable NSString *所选授权人的 OpenId;当前用户登录传 nil
grantUserNamenullable NSString *所选授权人的姓名;当前用户登录传 nil
completionYWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回授权登录结果。

处理业务二维码

接口: qrDisposeWithString:completion:

接收扫码文本并执行签名或授权登录流程。

调用示例

objc
[sdk qrDisposeWithString:qrString
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
qrStringNSString *扫码取得的完整文本
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回二维码业务结果;0 成功、2002 不支持该二维码、3000 取消。此重载使用当前用户完成授权登录。

处理业务二维码

接口: qrDisposeWithString:isHandleGrantOauth:completion:

接收扫码文本并执行签名或授权登录流程。

调用示例

objc
[sdk qrDisposeWithString:qrString
    isHandleGrantOauth:isHandleGrantOauth
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
qrStringNSString *扫码取得的完整文本
isHandleGrantOauthBOOLYES:查询二维码的授权关系;NO:直接使用当前用户授权登录
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回二维码业务结果。isHandleGrantOauth 为 YES 且存在授权关系时,返回 2003,data 包含 uuid 和 granted 数组;选择授权人后调用 startOauthLogin:grantOpenId:grantUserName:completion:。无授权关系时直接使用当前用户登录。

开启自动签名

接口: signForStartSignAutoWithSysTag:completion:

打开指定业务系统的自动签名授权流程。

调用示例

objc
[sdk signForStartSignAutoWithSysTag:sysTag
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
sysTagNSString *业务系统标识
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为字典,包含 signTotal 和 selfSignSession;取消返回 3000,失败返回错误码和说明。

关闭自动签名

接口: stopSignAutoWithSysTag:completion:

关闭指定业务系统的自动签授权。

调用示例

objc
[sdk stopSignAutoWithSysTag:sysTag
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
sysTagNSString *业务系统标识
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回自动签关闭结果;成功 data 可为 nil。

查询自动签名信息

接口: signAutoInfoWithCompletion:

查询当前用户的自动签授权信息。

调用示例

objc
[sdk signAutoInfoWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为授权字典(聚合查询返回该结构的数组),包含 signTotal 和 selfSignSession;未匹配授权返回 003x043,data 为 nil。

data 字段

字段类型说明
signTotalNSNumber累计签名次数
selfSignSession.clientIdNSString授权厂商标识
selfSignSession.clientNameNSString授权厂商名称
selfSignSession.endTimeNSString授权到期时间
selfSignSession.sdkNSNumber(BOOL)SDK 授权标记
selfSignSession.sysTagsNSArray<NSString *>已授权业务系统标识
selfSignSession.versionNSString授权会话版本

显示 PIN 输入框

接口: showPinWindowWithCompletion:

打开 SDK PIN 输入窗口并取得输入结果。

调用示例

objc
[sdk showPinWindowWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为字典:pin 为输入的 PIN 字符串,pinForNet 为加密后的 PIN 字符串;用户取消为 3000。

开启免密签名

接口: keepPinWithDays:completion:

校验 PIN 并设置免密有效天数。

调用示例

objc
[sdk keepPinWithDays:days
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
daysNSInteger免密有效天数,1~60
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为 nil;天数范围为 1~60,非法天数返回 1008。

相关只读属性

属性类型含义
isPinExemptBOOL免密签名是否开启。

关闭免密签名

接口: clearPin

关闭免密签名。

调用示例

objc
[sdk clearPin];

参数: 无。

返回结果

返回类型:void。

无返回值。

查询可用生物识别类型

接口: getSupportedBiometricTypesWithCompletion:

获取设备当前可用于签名认证的指纹或人脸类型。

调用示例

objc
[sdk getSupportedBiometricTypesWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

成功 data 为 NSArray<YWXBiometricType>,无可用类型时为空数组。
YWXBiometricTypeFingerprint(fingerprint):Touch ID;YWXBiometricTypeFace(face):Face ID。

开启指定生物识别签名

接口: startBiometricAuthenticationForSignWithType:completion:

使用指定的指纹或人脸类型开启签名授权。

调用示例

objc
[sdk startBiometricAuthenticationForSignWithType:type
    completion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
typeYWXBiometricType传入查询接口返回的 YWXBiometricTypeFingerprint 或 YWXBiometricTypeFace
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回开启结果;类型不匹配为 1010,非法参数为 1003。

开启生物识别签名

接口: startBiometricAuthenticationForSignWithCompletion:

使用设备可用的生物识别方式开启签名授权。

调用示例

objc
[sdk startBiometricAuthenticationForSignWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回开启结果。

相关只读属性

属性类型含义
isBiometricAuthenticationEnabledBOOL生物识别签名是否开启。

关闭生物识别签名

接口: stopBiometricAuthenticationForSignWithCompletion:

关闭生物识别签名。

调用示例

objc
[sdk stopBiometricAuthenticationForSignWithCompletion:^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
}];
参数类型说明
completionnullable YWXCompletion结果回调,参数为 status、message、data

返回结果

返回类型:void。

completion 返回关闭结果;成功 status 为 0。

获取 SDK 版本

接口: versionString(只读属性)

读取当前 SDK 版本号。

调用示例

objc
NSString *version = sdk.versionString;

参数: 无。

返回结果

返回 NSString,当前版本为 4.1.3-alpha.19。

查询指定厂商证书

接口: existsCertWithFirmID:

查询指定厂商证书。

调用示例

objc
BOOL exists = [sdk existsCertWithFirmID:firmId];
参数类型说明
firmIdnullable NSString *厂商标识

返回结果

返回 BOOL:存在为 YES,否则为 NO。

下载指定厂商证书

接口: certDownWithPhone:firmId:completion:

下载指定厂商证书。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk certDownWithPhone:phone firmId:firmId completion:completion];
参数类型说明
phoneNSString *手机号
firmIdnullable NSString *厂商标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

更新指定厂商证书

接口: certUpdateWithFirmId:completion:

更新指定厂商证书。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk certUpdateWithFirmId:firmId completion:completion];
参数类型说明
firmIdnullable NSString *厂商标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

重置指定厂商签名密码

接口: certResetPinWithFirmId:completion:

重置指定厂商签名密码。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk certResetPinWithFirmId:firmId completion:completion];
参数类型说明
firmIdnullable NSString *厂商标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

查看指定厂商证书详情

接口: showCertDetailWithFirmId:completion:

查看指定厂商证书详情。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk showCertDetailWithFirmId:firmId completion:completion];
参数类型说明
firmIdnullable NSString *厂商标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

关闭详情页返回 3000;证书查询失败返回对应错误码和说明。

设置指定厂商签章

接口: drawStampWithFirmIds:completion:

设置指定厂商签章。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk drawStampWithFirmIds:firmIds completion:completion];
参数类型说明
firmIdsnullable NSArray<NSString *> *厂商标识数组
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

签署指定厂商待签数据

接口: signWithFirmId:uniqueIdList:completion:

签署指定厂商待签数据。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk signWithFirmId:firmId uniqueIdList:uniqueIdList completion:completion];
参数类型说明
firmIdNSString *厂商标识
uniqueIdListNSArray<NSString *> *待签数据 ID 数组,最多 100 条
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

开启指定厂商自动签名

接口: signForStartSignAutoWithFirmId:sysTag:completion:

开启指定厂商自动签名。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk signForStartSignAutoWithFirmId:firmId sysTag:sysTag completion:completion];
参数类型说明
firmIdNSString *厂商标识
sysTagNSString *自动签系统标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

成功 status 为 0,data 包含 signTotal 和 selfSignSession,字段见查询自动签名信息;取消为 3000,失败返回错误码与说明。

关闭指定厂商自动签名

接口: stopSignAutoWithFirmId:sysTag:completion:

关闭指定厂商自动签名。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk stopSignAutoWithFirmId:firmId sysTag:sysTag completion:completion];
参数类型说明
firmIdNSString *厂商标识
sysTagNSString *自动签系统标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

成功 status 为 0,data 为 nil;失败返回错误码与说明。

授权他人签名

接口: grantSignAuthorizationToFirmId:grantedUserId:hours:completion:

授权他人签名。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk grantSignAuthorizationToFirmId:firmId grantedUserId:grantedUserId hours:hours completion:completion];
参数类型说明
firmIdNSString *厂商标识
grantedUserIdNSString *被授权用户标识
hoursNSInteger授权时长,单位小时,至少 1 小时
completionnullable YWXCompletion结果回调:status、message、data

返回结果

completion(status, message, data);成功 status 为 0,取消为 3000,失败返回错误码与说明。

关闭授权签名

接口: stopGrantSignAuthorizationToFirmId:grantUniqueId:completion:

关闭授权签名。

调用示例

objc
YWXCompletion completion = ^(NSString *status, NSString *message, id data) {
    // 处理返回结果。
};
[sdk stopGrantSignAuthorizationToFirmId:firmId grantUniqueId:grantUniqueId completion:completion];
参数类型说明
firmIdNSString *厂商标识
grantUniqueIdNSString *授权记录标识
completionnullable YWXCompletion结果回调:status、message、data

返回结果

成功 status 为 0,data 为服务端返回数据(可为 nil);失败返回错误码与说明。

错误码

常量(共同前缀 YWXSignStatusCode,另注者除外)字符串值含义与处理
Success0本次操作成功。
CertificateDoesNotExist1001本地证书不存在。
SignatureDoesNotExist1002签章不存在;需要完成签章配置。
ParameterNull1003参数缺失或格式错误。
InsufficientPermissions1004缺少权限。
SignDataCountError1006签名数组为空或超过 100 条。
CertificateIsNotExpired1007证书尚无需更新。
FreePinDayIllegal1008免密天数不在1...60。
InvalidPhoneNumberFormat1009手机号格式不正确。
BiometricNotEnabled1010生物识别不可用/未开启/指定类型不匹配。
ResetPasswordSuccess1013重置密码成功;按重置业务处理。
CantSignOtherUserData1015不可操作其他用户数据。
UnsupportedCAChannel1016当前证书渠道不支持。
无公开常量007x001设备标识存储或加密日志导出失败。
无公开常量1023SDK 安全存储不可用。
无公开常量003x043未查询到自动签授权。
NetworkError2001网络异常。
QRCodeError2002当前二维码业务不能处理。
NeedGrantInfoError2003需要选择授权人。
Cancel3000用户取消或操作已失效。
BiometricLockoutError0x14100402连续认证错误导致生物锁定。
TouchIDVerifyError0x14100403Touch ID验证失败。
FaceIDVerifyError0x14100404Face ID验证失败。
YWXSignResponseCodeInvalidPhoneNumberFormat017x001服务端手机号格式错误。
YWXSignResponseCodeUserDoesNotExist017x003服务端账号不存在。

升级指引

必做配置

1. Pod 依赖更新为 pod 'YWXSignSDK', '= 4.1.3-alpha.19'。

2. 最低系统版本设置为 iOS 15。

3. 执行 pod install --repo-update,通过生成的 .xcworkspace 打开工程。

4. 按使用功能配置本页列出的 Info.plist 权限说明。

现有调用是否需要修改

YWXSignManager 的普通证书、签章、签名、免密及自动签接口保留原调用方式;结果回调仍为 status、message、data。

按需接入的新接口

需要的功能接入方法
查询指定手机号的本地证书existsCertWithPhone:
查询指定厂商的本地证书existsCertWithFirmID:
查询可用生物识别类型getSupportedBiometricTypesWithCompletion:
指定生物识别类型开启签名startBiometricAuthenticationForSignWithType:completion:
获取设备标识getDeviceIdWithCompletion:
导出加密日志exportEncryptedLogsWithCompletion:,从 data.path 读取文件路径