用的是阿里云的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 库,让它在主项目目录下进行编译?
王者地带 (作者)
添加到主工程中,也是可以调用到的, 阿里云的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