uni-app APP使用uts插件后,通过wgt热更新一次导致插件无法使用

uni-app APP使用uts插件后,通过wgt热更新一次导致插件无法使用

开发环境 版本号 项目创建方式
Windows 10 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热更新之后无法使用插件


更多关于uni-app APP使用uts插件后,通过wgt热更新一次导致插件无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

HBuilderX 4.04.2024031519-alpha 已修复。

更多关于uni-app APP使用uts插件后,通过wgt热更新一次导致插件无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


针对该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试一下

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

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

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

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

已经是最新版本了 3.99

alpha版本4.03打的包也是这样

回到顶部