9***@qq.com
9***@qq.com
  • 发布:2023-08-19 14:55
  • 更新:2024-03-16 19:20
  • 阅读:402

【报Bug】App 通过 wgt 升级后,代码中引入的 uts 包对象变成 undefined,找不到该 uts 插件对象了

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

iPhone x 坚果

操作步骤:

App 通过 wgt 升级后就会报错

预期结果:

通过 wgt 升级后的 uts 插件,还能正常使用

实际结果:

App 通过 wgt 升级后就会报错

bug描述:

代码中使用了 uts 插件,最开始通过云打包,打出的完整 App 包,是可以正常使用的。

但是后续通过 wgt 包的形式更新了 App,在 App 端更新之后,代码中引入的 uts 对象变成 undefined 了,运行直接报错。

在 App 中报错的内容是:

undefined TypeError: undefined is not an object (evaluatingyrUTSFFmpeg)

使用的插件是:https://ext.dcloud.net.cn/plugin?id=12776

代码中引入的方式是:

import { UTSFFmpeg } from "@/uni_modules/wrs-uts-ffmpeg";

请问有什么解决方案吗?

或者可以将 uts 插件默认挂在到 window 对象上吗

或者有什么在代码中动态引入 uts 插件的语法吗,代码运行时,直接在 App 的宿主环境中获取该 uts 插件

2023-08-19 14:55 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com (作者)

另外,在项目中使用了这个插件:

  • 打包出来的自定义基座是 40M(在开发中测试用)
  • 使用开发证书打包出来是 40M(在手机上测试用)
  • 但是正式证书打包出来是 100M(用来提交到 App Store 发布的)

开发包 和 正式包 大小差了有 1 倍,请问有什么原因吗,开发环境与上面一致。

使用的插件是:https://ext.dcloud.net.cn/plugin?id=12776

项目中没有使用其他插件,并且 App 在引入这个插件之前大小只有 20M

DCloud_Android_DQQ

DCloud_Android_DQQ

没理解,能提供一个具体示例嘛。

wgt升级之后,页面会重新刷新,此时UTS的引入关系会重新绑定。理论上不存在需要动态引入的场景

  • 9***@qq.com (作者)

    你好,这个插件的示例代码即可复现。


    https://ext.dcloud.net.cn/plugin?id=12776


    我的操作步骤是这样的:



    1. 打包 App,比如版本是:1.0.0

    2. 然后安装在手机中

    3. 在页面上,新增一个无用输出,例如<view>111<view>

    4. 将版本号改为 1.0.1,使用 wgt 打包

    5. App 检测到升级后,下载了新版本的 wgt 代码,也展示了<view></view>

    6. 但是和 wrs-uts-ffmpeg 相关的功能都无用功了

    2023-08-20 18:34

  • 9***@qq.com (作者)

    另外,ios 的 开发包 和 正式包 大小相差一倍,请问有什么原因吗?也可以用这个插件的代码复现

    https://ext.dcloud.net.cn/plugin?id=12776


    注意,必须要打发布包才能复现这个问题

    2023-08-20 18:37

  • 9***@qq.com

    回复 9***@qq.com: 这个问题解决了吗?

    2024-03-14 09:30

DCloud_UNI_FengXY

DCloud_UNI_FengXY

HBuilderX 4.04.2024031519-alpha 已修复。

要回复问题请先登录注册