王者地带
王者地带
  • 发布:2025-09-19 18:59
  • 更新:2025-09-22 18:01
  • 阅读:150

阿里的认证 安全图片验证,在IOS 端 uniapp x 项目uts插件中验证失败的问题

分类:uni-app x

用的是阿里云的IOS SDK ,写的是uniapp x 的uts 插件,uts 的插件会导致阿里的安全图片 yw_1222.jpg 认证失败,失败的原因是因为:Bundle ID 包名不一致导致, 经过本地的uniapp x 离线工程验证, 是因为 uts 插件打包是以 Module 的方式添加所有和插件有关的 .framework , 导致阿里的安全验证,获取到的包名 是 Module 的,不是主项目的,从而导致验证失败, 有没有办法,把 uts 插件中的某些 .framework 添加到主项目下编译打包?

第一次情况: 如图所示,我把所有 .framework 库添加到主项目下编译,应用正常运行,初始化安全图片是可以验证成功。

第二次情况:如图所示,我把所有 .framework 库添加到的 uts 插件的 Module 工程下,应用正常运行,初始化安全图片失败,提示Bundle ID 包名不一致,原因应该是阿里的安全sdk 库获取的是 Module 的Bundle Id 了,导致验证失败

是否可以,在 uts 插件中,配置某些 .framework 库,让它在主项目目录下进行编译?

2025-09-19 18:59 负责人:DCloud_iOS_LZY 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

uts插件是编译为独立的动态库的,如果吧部分framework库添加到主工程,也没有代码去调用它,还是解决不了这个问题。
是否可以将uts插件的Module工程的Bundle Id与主工程一致来解决?

  • 王者地带 (作者)

    添加到主工程中,也是可以调用到的, 阿里云的SDK 很多都是需要用到安全图片,例如:阿里百川,阿里人脸识别等等阿里云系的sdk ,大都是采用他们自主的安全图片验证,来核验,只能把.framework放在主项目下来获取主项目的Bundle Id ,目前在uniapp 项目使用打包是正常的,因为要做成付费插件其他用户在线打包使用,不适合你说的Module工程的Bundle Id与主工程一致来使用,需要动态,因为每个用户的包名都不一样,如果uniapp x 项目用不了阿里云系的SDK是一个遗憾, 希望可以在uts 插件的ios 配置中, 增加一个配置,可以配置某些.framework库放在主项目下编译的

    2025-09-22 17:12

  • 王者地带 (作者)

    我刚才试了一下Module 工程的Bundle Id 是 不能和 主项目Bundle Id 一样的,每一个Module 都需要一个获立的 Bundle Id,不能一起编译使用, 所以uts 插件只能让某一些.framework库 放到主项目下编译才可以,才能获取到正确的包名,可能是阿里的安全验证机制,只能放在主项目中使用

    2025-09-22 17:22

DCloud_iOS_LZY

DCloud_iOS_LZY

你可以试下把Resource放到uts插件目录下,例如unimoduleHtml5appBaichuan 这个project下

  • 王者地带 (作者)

    不太明白,是把资源目录Resource 放在uts 目录下,目前是把安全图片放在Resource 下, .framework 放在 Frameworks 目录下,进行云打包,但是阿里云有一个 SecurityGuardSDK.framework 库是用来获取Bundle Id 的,放在uts 插件中,SecurityGuardSDK.framework 获取的Bundle Id 不是主项目Bundle Id,获取到的是Module 工程的, 离线工程,我是用来验证这个问题的, 做的插件是想能在线打包给用户使用

    2025-09-22 17:48

  • 王者地带 (作者)

    这个问题有解决方案吗?

    2025-09-25 11:18

王者地带

王者地带 (作者) - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

阿里云系列的SDK 很多都要用到安全图片验证 都是这个 SecurityGuardSDK.framework 这个基础安全库,所以如果不能解决这个问题 很多阿里系的SDK 无法在 uts 插件中通过云打包使用

要回复问题请先登录注册