使用uni-usercapturescreen 截屏插件
ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR
以为是基座问题重新打包好了,结果云打包出来的app有问题。而且本地运行也有问题了,排除掉基座问题只有一个可能就是编译bug!
编译时有概率漏掉uts插件,异常时cache/dist文件夹中没有插件的文件。不管是本地删除缓存重新编译还是云打包时的编译都有概率漏插件!打出来的包时好时坏,请尽快修复真的很影响打包!
- 发布:2023-11-09 19:43
- 更新:2023-11-20 20:57
- 阅读:2546
产品分类: HbuilderX
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX版本号: 3.96
操作步骤:
预期结果:
HBX正常编译不丢文件。我只想打个包下班好吗爷爷们。
HBX正常编译不丢文件。我只想打个包下班好吗爷爷们。
实际结果:
自定义基座没有问题本地的编译有时候会丢插件,导致有问题。HBX3.7.11没问题
自定义基座没有问题本地的编译有时候会丢插件,导致有问题。HBX3.7.11没问题
bug描述:
使用uni-usercapturescreen 截屏插件
ios报错:Error: undefined class: UTSSDKModulesUniUsercapturescreenIndexSwift __ERROR
以为是基座问题重新打包好了,结果云打包出来的app有问题。而且本地运行也有问题了,排除掉基座问题只有一个可能就是编译bug!
编译时有概率漏掉uts插件,异常时cache/dist文件夹中没有插件的文件。不管是本地删除缓存重新编译还是云打包时的编译都有概率漏插件!打出来的包时好时坏,请尽快修复真的很影响打包!
8 个回复
最佳回复
DCloud_UNI_FXY
HBuilderX 3.96 及以下版本云打包丢失UTS插件的解决方案:
方案1. 升级至HBuilderX 3.97+
方案2. 云打包时,不要同时勾选Android和iOS,而是分开两次单独打包
HBuilderX 3.98 及以下版本运行时偶发提示缺少UTS插件的解决方案:
排查是否同时运行到了Android和iOS两个平台,目前不支持同时运行,需要停掉其中一个平台之后,再运行到另一个平台
zmm2113V (作者) - 热爱前端
官方的人呢,快测试。
DCloud_HB_HXY
问题已收到,正在排查
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: 我这里测试步骤
uni.setUserCaptureScreen({
enable: true
});
uni.onUserCaptureScreen(function() {
console.log('用户截屏了')
});
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
IOS上遇到同样的错误了
f***@hotmail.com
插件挺好,希望官方快点解决 :)
f***@hotmail.com
版本:3.97.2023110504-alpha
IOS 上录屏和截屏都是黑屏,
但是,
1、没有像android一样给出提示:当前页面...,不允许截屏/录制。
2、回调函数的参数为undefined。
DCloud
HBuilderX 3.98.2023112011-alpha 已修复。