zmm2113V
zmm2113V
  • 发布:2023-11-09 19:43
  • 更新:2023-11-20 20:57
  • 阅读:2546

【报Bug】HBX编译UTS插件丢失问题,导致云打包异常

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

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文件夹中没有插件的文件。不管是本地删除缓存重新编译还是云打包时的编译都有概率漏插件!打出来的包时好时坏,请尽快修复真的很影响打包!

2023-11-09 19:43 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_FXY

DCloud_UNI_FXY

HBuilderX 3.96 及以下版本云打包丢失UTS插件的解决方案:
方案1. 升级至HBuilderX 3.97+
方案2. 云打包时,不要同时勾选Android和iOS,而是分开两次单独打包

HBuilderX 3.98 及以下版本运行时偶发提示缺少UTS插件的解决方案:
排查是否同时运行到了Android和iOS两个平台,目前不支持同时运行,需要停掉其中一个平台之后,再运行到另一个平台

zmm2113V

zmm2113V (作者) - 热爱前端

官方的人呢,快测试。

DCloud_HB_HXY

DCloud_HB_HXY

问题已收到,正在排查

DCloud_heavensoft

DCloud_heavensoft

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

  • zmm2113V (作者)

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

    2023-11-13 15:36

  • zmm2113V (作者)

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

    ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR

    安卓也有概率报错

    2023-11-13 15:55

  • DCloud_UNI_FXY

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

    2023-11-13 17:13

  • zmm2113V (作者)

    回复 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以上会出现这个问题。

    2023-11-14 11:01

  • zmm2113V (作者)

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

    2023-11-14 11:02

  • DCloud_UNI_FXY

    回复 zmm2113V: 我这里测试步骤



    1. 新建空模板(Vue3),导入uni-usercapturescreen插件

    2. App.vue中onLaunch设置

      uni.setUserCaptureScreen({

      enable: true

      });

    3. index.vue的onReady

      uni.onUserCaptureScreen(function() {

      console.log('用户截屏了')

      });

    4. 选择发行->原生App-云打包,勾选iOS,勾选打自定义调试基座,勾选真机->打包

    5. 打包完成后,多次重新运行项目,均会提示

      uts插件[uni-usercapturescreen]文件未发生变化,跳过编译

      然后手动启动手机上的App,测试截屏均正常


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

    2023-11-14 11:29

  • zmm2113V (作者)

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

    2023-11-14 11:43

  • DCloud_UNI_FXY

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

    2023-11-14 12:10

  • zmm2113V (作者)

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

    2023-11-14 12:32

  • DCloud_UNI_FXY

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

    2023-11-14 13:01

  • DCloud_UNI_FXY

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

    2023-11-14 13:17

  • zmm2113V (作者)

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

    2023-11-14 14:53

f***@hotmail.com

f***@hotmail.com

IOS上遇到同样的错误了

f***@hotmail.com

f***@hotmail.com

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

f***@hotmail.com

f***@hotmail.com

版本:3.97.2023110504-alpha

IOS 上录屏和截屏都是黑屏,

但是,
1、没有像android一样给出提示:当前页面...,不允许截屏/录制。

2、回调函数的参数为undefined。

DCloud

DCloud

HBuilderX 3.98.2023112011-alpha 已修复。

要回复问题请先登录注册