uni-app HBX编译UTS插件丢失问题,导致云打包异常

发布于 1周前 作者 itying888 来自 Uni-App

uni-app HBX编译UTS插件丢失问题,导致云打包异常

开发环境 版本号 项目创建方式
HbuilderX 3.96

操作步骤:

使用uni-usercapturescreen 截屏插件
ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR
以为是基座问题重新打包好了,结果云打包出来的app有问题。而且本地运行也有问题了,排除掉基座问题只有一个可能就是编译bug!
编译时有概率漏掉uts插件,异常时cache/dist文件夹中没有插件的文件。不管是本地删除缓存重新编译还是云打包时的编译都有概率漏插件!打出来的包时好时坏,请尽快修复真的很影响打包!

预期结果:

HBX正常编译不丢文件。我只想打个包下班好吗爷爷们。

实际结果:

自定义基座没有问题本地的编译有时候会丢插件,导致有问题。HBX3.7.11没问题

bug描述:

使用uni-usercapturescreen 截屏插件
ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR
以为是基座问题重新打包好了,结果云打包出来的app有问题。而且本地运行也有问题了,排除掉基座问题只有一个可能就是编译bug!
编译时有概率漏掉uts插件,异常时cache/dist文件夹中没有插件的文件。不管是本地删除缓存重新编译还是云打包时的编译都有概率漏插件!打出来的包时好时坏,请尽快修复真的很影响打包!


21 回复

HBuilderX 3.96 及以下版本云打包丢失UTS插件的解决方案: 方案1. 升级至HBuilderX 3.97+ 方案2. 云打包时,不要同时勾选Android和iOS,而是分开两次单独打包
HBuilderX 3.98 及以下版本运行时偶发提示缺少UTS插件的解决方案: 排查是否同时运行到了Android和iOS两个平台,目前不支持同时运行,需要停掉其中一个平台之后,再运行到另一个平台


官方的人呢,快测试。

问题已收到,正在排查

代码中没有调用插件,就不会打包进去。 怎么重现打不进去的情况?

在App.vue onLaunch调用了 uni.setUserCaptureScreen({enable:false });而且页面中也用到了uni.setUserCaptureScreen

重现:使用uni-usercapturescreen插件打包基座运行安卓和ios首先确保基座是好的,然后触发重新编译有概率会丢文件,缓存文件夹里没有插件需要的文件。 ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR 安卓也有概率报错

回复 张明明: vue2还是vue3?触发重新编译,是指的修改vue文件?基座是云打包出来的自定义基座?是否有必现的操作流程?

回复 DCloud_UNI_FXY: 1.vue3 2.是云打包的基座。 3.重新编译指的运行基座时的开始编译…正在编译中。云打包也一样会触发这个步骤的。 4.流程就是正常使用uni-usercapturescreen插件云打包基座。然后运行安卓/ios就有大概率报错。尤其是ios。而且不止我一个人有这个问题https://ext.dcloud.net.cn/plugin?id=9897你可以看评论区这个问题应该已经存在很久了。 我之前一直在使用HBX3.7.11没有一点问题,3.7.11以上会出现这个问题。

打好基座安卓/ios都测试一下。很容易复现的

回复 张明明: 我这里测试步骤

你可以对比我以上步骤,看看哪些流程和你有差异

回复 DCloud_UNI_FXY: WindowsHBX3.96,安卓/IOS两个一起打包基座,一起连手机调试。然后删除缓存或者大改动触发重新编译。多试几次必复现。uni-usercapturescreen插件市场的评价里都有人遇到Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR。其实不是插件的问题是HBX的问题

回复 张明明: 你单独打包android和iOS试试,不要一起打包,或者使用3.97Alpha同时打包验证一下

回复 DCloud_UNI_FXY: 基座其实是没问题的我之前删除了unpackage文件夹重新打基座运行双端都好着,然后云打包正式包出来的包是坏的,然后我再运行基座发现也会报错,然后去缓存文件夹看了下发现插件没了,说明是编译出现问题了不是基座和插件问题。至于你说的单独打包单独运行可能会好。不过单独编译运行的话开发效率就不行了。而且还是可能编译坏。3.97Alpha我空了试一下吧。你们让HBX组的人多测测,是有编译问题的。

回复 张明明: 插件打包后,都已经存在基座内部里了,插件缓存目录记录的只是文件md5值,不会包含插件内容,目前测试出问题的就是云打包同时勾选android和ios会导致插件没有被提交上去引发的。

回复 DCloud_UNI_FXY: 另外一种情况,应该是你同时运行到了Android和iOS两个平台,目前Android和IOS两个平台共享使用了同一个编译结果引发的

回复 DCloud_UNI_FXY: 我也发现每次编译都可能影响到另一个端。请尽快修复,辛苦了。

IOS上遇到同样的错误了

插件挺好,希望官方快点解决 :)

版本:3.97.2023110504-alpha
IOS 上录屏和截屏都是黑屏,
但是, 1、没有像android一样给出提示:当前页面…,不允许截屏/录制。
2、回调函数的参数为undefined。

HBuilderX 3.98.2023112011-alpha 已修复。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!