9***@qq.com
9***@qq.com
  • 发布:2024-03-14 15:51
  • 更新:2024-03-16 16:34
  • 阅读:287

【报Bug】APP用了uts插件,通过wgt热更新一次之后插件就用不了了

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone6s

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

在APP.vue文件里
import * as AppIconUtil from '@/uni_modules/sn-uts-appicon'
AppIconUtil.setAppIcon("Test1", e => {
console.log('setAppIcon', e)
})

操作步骤:

1.云打包生成ipa,这个时候AppIconUtil对象有值,功能正常
2.修改版本号后直接生成wgt
3.更新wgt包后AppIconUtil对象就变成空值了

预期结果:

APP通过wgt热更新之后能正常使用插件

实际结果:

APP通过wgt热更新之后无法使用插件

bug描述:

用的插件是这个 https://ext.dcloud.net.cn/plugin?id=14443
第一次云打包的时候返回结果正常,再通过一次wgt热更新之后AppIconUtil对象为空

2024-03-14 15:51 负责人:无 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 4.04.2024031519-alpha 已修复。

DCloud_UNI_FengXY

DCloud_UNI_FengXY

针对该uts插件的临时解决方案:
在你的main.js中,添加以下代码:

;(function(){  

const { registerUTSInterface, initUTSProxyClass, initUTSProxyFunction, initUTSPackageName, initUTSIndexClassName, initUTSClassName } = uni  
const name = 'snUtsAppicon'  
const moduleName = '动态设置应用图标'  
const moduleType = ''  
const errMsg = ``  
const is_uni_modules = true  
const pkg = /*#__PURE__*/ initUTSPackageName(name, is_uni_modules)  
const cls = /*#__PURE__*/ initUTSIndexClassName(name, is_uni_modules)  

const exports = { __esModule: true }  

exports.supportsAlternateIcons = /*#__PURE__*/ initUTSProxyFunction(false, { moduleName, moduleType, errMsg, main: true, package: pkg, class: cls, name: 'supportsAlternateIconsByJs', params: [], return: ""})  
exports.getAppIcon = /*#__PURE__*/ initUTSProxyFunction(false, { moduleName, moduleType, errMsg, main: true, package: pkg, class: cls, name: 'getAppIconByJs', params: [], return: ""})  
exports.setAppIcon = /*#__PURE__*/ initUTSProxyFunction(false, { moduleName, moduleType, errMsg, main: true, package: pkg, class: cls, name: 'setAppIconByJs', params: [{"name":"name","type":"string"},{"name":"callback","type":"UTSCallback"}], return: ""})  
uni.registerUTSPlugin('uni_modules/sn-uts-appicon', exports)  

})();

然后可以重新生成wgt试一下

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

    还是不行,ipa也重新打包过了

    2024-03-15 14:41

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

    回复 9***@qq.com: 把引入的代码从APP.vue换到其他页面后可以了

    2024-03-15 15:20

9***@qq.com

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

去年就有人反馈过了,官方没有解决
https://ask.dcloud.net.cn/question/176572

DCloud_UNI_FengXY

DCloud_UNI_FengXY

HBuilderX版本是多少?可以升级到最新再试试

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

    已经是最新版本了 3.99

    2024-03-14 15:56

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

    alpha版本4.03打的包也是这样

    2024-03-14 16:25

要回复问题请先登录注册