内容提要
阿里云实人认证SDK升级迁移记录:从旧版RPSDK迁移至金融级实人认证新SDK,重点解决iOS端问题。步骤包括删除旧SDK文件与代码、导入新framework及系统库、拷贝资源、修改代码。踩坑点:二次安装白屏是Xcode调试bug,非SDK问题;framework需设为Do Not Embed;MultiFactorFacade可能致加载失败需移除;tbd库需添加两次。
延伸解读
迁移前需确认工程结构
文章提到项目原本采用手动导入SDK的方式,且同时接入在Unity-iPhone和UnityFramework两个Target中。迁移前应检查自己的工程是否也有多个Target,确保所有Target中的旧SDK文件和资源都被删除,否则可能导致编译或运行错误。
Xcode调试bug易误导排查
二次安装白屏问题被误认为是新SDK导致,实际是Xcode调试bug。遇到类似问题时,建议先验证是否与调试环境相关,例如尝试Clean或重启Xcode,避免在SDK集成上浪费过多时间。
注意framework的Embed设置
新SDK的framework默认Embed & Sign,但必须改为Do Not Embed,否则上传时会报错。这一细节容易被忽略,建议在添加framework后立即检查并修改Embed类型,避免后续打包问题。
系统库添加的显示bug
tbd类型的系统库需要添加两次才能出现在列表中,这可能是Xcode的显示bug。为确保依赖完整,建议重复添加,并在添加后检查列表确认是否成功。
Q&A
阿里云实人认证iOS SDK升级中,二次安装白屏是什么原因?
二次安装白屏是Xcode调试的bug,并非新SDK的问题。只有首次运行正常,覆盖安装时需要大退Xcode才能解决。
在阿里云实人认证iOS SDK升级中,如何删除旧版RPSDK?
删除旧版RPSDK需要两步:1. 删除SDK相关文件,包括AliyunOSSiOS.framework、RPSDK.framework、SecurityGuardSDK.framework、SGMain.framework、SGSecurityBody.framework以及RPSDK.bundle,注意在Unity-iPhone和UnityFramework两个Target中都要删除;2. 删除代码中RPSDK相关的调用,全局搜索RPSDK并注释或删除。
在阿里云实人认证iOS SDK升级中,导入新SDK framework时需要注意什么?
导入新SDK framework时,需要将framework添加到UnityFramework Target中,并将Embed类型从默认的Embed & Sign改为Do Not Embed,否则上传时会报错。另外,如果遇到MultiFactorFacade.framework导致UnityFramework加载失败,需要取消该库的引入。
在阿里云实人认证iOS SDK升级中,添加系统库依赖时有什么坑?
添加系统库依赖时,framework一次就能添加成功,但tbd类型的库需要添加两次才能出现在列表中,推测是Xcode刷新逻辑导致的显示bug,建议添加两次以防万一。
在阿里云实人认证iOS SDK升级中,如何修改代码以适配新SDK?
修改代码时,需要根据原有RPSDK逻辑的位置,分别进行头文件引入、初始化SDK,然后在初始化调用下方获取metainfo,再调用SDK开始认证的逻辑。特别注意extParams结构的必填参数currentCtr,需要传入ViewController,获取方式为GetAppController().rootViewController。
阿里云实人认证iOS SDK升级中,拷贝SDK资源的具体操作是什么?
拷贝SDK资源时,选中UnityFramework,进入Build Phases页签,展开Copy Bundle Resources,点击+,然后选择framework目录下需要添加的bundle文件即可完成添加。