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)
})
操作步骤:
- 云打包生成ipa,这个时候AppIconUtil对象有值,功能正常
- 修改版本号后直接生成wgt
- 更新wgt包后AppIconUtil对象就变成空值了
预期结果:
APP通过wgt热更新之后能正常使用插件
实际结果:
APP通过wgt热更新之后无法使用插件
更多关于uni-app APP使用uts插件后,通过wgt热更新一次导致插件无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
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打的包也是这样

