惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
小众软件
小众软件
有赞技术团队
有赞技术团队
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
WordPress大学
WordPress大学
J
Java Code Geeks
罗磊的独立博客
V
Visual Studio Blog
雷峰网
雷峰网
H
Help Net Security
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
F
Fortinet All Blogs

崎径 其镜

Unity Android 混淆踩坑:升级 AGP 后找不到 Java 方法 Unity 项目迁移鸿蒙(三):SDK 接入 Unity 项目迁移鸿蒙(二):打包与调试 Unity 项目迁移鸿蒙(一):环境准备与工程结构 Unity 项目迁移鸿蒙(一):环境准备与工程结构 阿里云实人认证iOS SDK 升级 DeepSeek V4 Flash 接入 Codex 教程 DeepSeek V4 Flash 接入 Codex 教程 Unity CVE-2025-59489 漏洞修复实践(Google Play 合规) Unity CVE-2025-59489 漏洞修复实践(Google Play 合规) 从零配置 VS Code C++ 环境 从零配置 VS Code C++ 环境 力扣笔记 力扣笔记 一文详解Hexo 博客搭建 一文详解Hexo 博客搭建 Unity 游戏的 Google Play 16 kb页面对齐处理 Unity 升级到 2022 踩坑记录(URP / 黑屏 / HTTP) Unity 升级到 2022 踩坑记录(URP / 黑屏 / HTTP) Android Google Play 16 KB 页面对齐适配指南 Android Google Play 16 KB 页面对齐适配指南 iOS 应用开启包外存储访问(文件共享) iOS 应用开启包外存储访问(文件共享) xlua学习笔记 xlua学习笔记 Lua新知 Lua新知 EFK日志分析系统的搭建 EFK日志分析系统的搭建 使用贝塞尔曲线实现道具随机飞动效果
阿里云实人认证iOS SDK 升级
小墨 · 2026-08-03 · via 崎径 其镜

背景

阿里云在今年早些时候给后台发送了通知:我们原先接入的实人认证 SDK(RPSDK)即将停止服务,需要将这一功能迁移到金融级实人认证这个新 SDK。

Android 版本的升级很顺利,但 iOS 版本在过程中遇到了很多困难。其中最迷惑人的是”二次安装白屏”问题:只有首次运行可以在设备上正常运行,想覆盖安装就需要大退 Xcode。这个问题一度让我误以为是金融级实人认证 SDK 导致的,花了好久才确定了问题规律,其实它是 Xcode 调试的 bug,与 SDK 本身无关。

相关文档:

删除 RPSDK

1. 删除 SDK 相关文件

我们项目原本使用的是手动导入 SDK 的方式。文档方式二中提到的 SDK 相关 framework 文件和资源文件,都需要取消在项目中的引入,即删除:

AliyunOSSiOS.framework
RPSDK.framework
SecurityGuardSDK.framework
SGMain.framework
SGSecurityBody.framework

以及:

RPSDK.bundle

需要注意的是,我们原先的接入方式并不标准,在 Unity-iPhone 和 UnityFramework 两个 Target 中都对文件进行了接入,所以这两个 Target 都要完成 framework 的删除。

删除 framework 的方式是:选中目标 Target,进入 General 页签,在 Frameworks, Libraries, and Embedded Content 中选中要删除的 framework,点击下方的 - 即可。

导入的资源的删除方式:选中 Target,点击 Build Phases 页签,展开 Copy Bundle Resources,检查列表中是否有 RPSDK 相关的 bundle 文件,选中并删除。除此之外,左侧文件浏览器中的 RPSDK 相关 framework 和 bundle 文件也需要一并删除。

2. 删除代码中的调用

完成 SDK 文件删除后,最后一步是删除代码中 RPSDK 相关的逻辑。在全局搜索关键词 RPSDK,注释或删除相关调用即可。

接入金融级实人认证

金融级实人认证的文档可读性比较差,其中提到了各种过时的内容,接入时需要适当忽略。

1. 导入 SDK framework

下载并解压 SDK 文件后,在 Xcode 工程 SDK 接入路径中新建一个 AliFaceauth 目录,将所有 framework 文件拷贝进去。

接下来添加 framework 文件。SDK 相关的 framework 和系统库依赖都要添加到 UnityFramework 这个 Target 中:

  1. 选中 UnityFramework,进入 General 页签,在 Frameworks, Libraries, and Embedded Content 下方点击 **+**。
  2. 点击左下角的 **Add Other → Add Files…**,浏览到 SDK 相关 framework 文件,点击 Open 添加。
  3. 添加完成后,需要修改 Embed 类型。默认是 Embed & Sign,需要改成 Do Not Embed,否则在上传时会报错。

注意:多语言支持的库在我们项目中出现了运行时导致 UnityFramework 加载失败的情况。如果遇到同样的问题,需要取消 MultiFactorFacade.framework 的引入。

2. 添加系统库依赖

系统依赖在点击 + 后,直接搜索名字即可找到。但这里要注意:framework 一次就能添加成功,而 tbd 类型的库需要添加两次才能出现在列表中,推测是 Xcode 刷新逻辑导致的显示 bug。为了以防万一,建议添加两次。

3. 拷贝 SDK 资源

完成库文件的添加后,接下来拷贝 SDK 资源,根据文档列出的 bundle 列表添加即可:

  1. 选中 UnityFramework,点击 Build Phases 页签,展开 Copy Bundle Resources。
  2. 点击下方的 **+**,操作和添加 SDK 相关库时一致,选中 framework 目录下需要添加的 bundle 文件即可完成添加。

4. 修改代码

最后是代码相关。根据原有 RPSDK 逻辑的位置,分别进行头文件引入、初始化 SDK,然后在初始化调用下方获取 metainfo,再调用 SDK 开始认证的逻辑,具体可以参考文档内容。

这里需要注意的是,extParams 结构的必填参数 currentCtr 的示例写得很简略。在我所使用的 Xcode 版本中,需要传入的 ViewController 的获取方式是:

GetAppController().rootViewController

也就是实际调起时传入参数的全部代码为:

NSMutableDictionary *extParams = [NSMutableDictionary dictionary];
[extParams setObject:GetAppController().rootViewController forKey:@"currentCtr"];

踩坑总结

  • 二次安装白屏:只有首次运行正常,覆盖安装需要大退 Xcode。这是 Xcode 调试的 bug,不要第一时间怀疑新 SDK。
  • Embed 类型:framework 默认是 Embed & Sign,必须改成 Do Not Embed,否则上传时会报错。
  • MultiFactorFacade.framework:在部分项目中会导致 UnityFramework 运行时加载失败,遇到相同问题时移除该库。
  • tbd 系统库:需要添加两次才能出现在列表中,建议重复添加以防万一。

完成以上步骤后,RPSDK 到金融级实人认证的迁移就基本完成了。整个过程本身不复杂,坑点大多藏在 Xcode 和 Unity 导出工程的细节里,希望这篇记录能帮到遇到同样问题的朋友。