H5+开发常见问题

H5+

本文采用 dcloud 开源的 JSBridge 库 H5+,详情查阅官方文档
H5+ API

plus 对象找不到

h5+ 通过暴露对象 plus 来提供相关 API。
开发时,只有移动端才会注入 plus 对象,需要依赖手机模拟器或者真机进行调试,直接网页端调试不会有该对象出现。
若 plus 对象找不到,一般来说是由于业务代码执行时,plus 对象尚未初始化完成。
通过plusready来保证初始化完成后执行业务代码
以 vue 为例,在项目入口文件中添加如下代码

Vue.prototype.$plusExtends = (fn) => {
if (window.plus) {
setTimeout(fn, 0)
} else {
document.addEventListener('plusready', fn, false)
}
}

业务组件使用

this.$plusExtends(() => {
var cmr = window.plus.xxx
})

hbuilder 打包 app 点击手机返回键直接退出到桌面

在发布目录下的 index.html 下直接插入如下代码,或直接将这段代码插入入口 main.js

document.addEventListener('plusready', function () {
var webview = plus.webview.currentWebview()
plus.key.addEventListener('backbutton', function () {
webview.canBack(function (e) {
if (e.canBack) {
webview.back()
} else {
//webview.close(); //hide,quit
//plus.runtime.quit();
//首页返回键处理
//处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null
plus.key.addEventListener(
'backbutton',
function () {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime()
console.log('再按一次退出应用')
setTimeout(function () {
first = null
}, 1000)
} else {
if (new Date().getTime() - first < 1500) {
plus.runtime.quit()
}
}
},
false
)
}
})
})
})

Hbuilder 打 ipa 包安装失败

在用 hbuilder 进行 ipa 打包之前,需要按照官方文档步骤生成证书文件

iOS 证书(.p12)和描述文件(.mobileprovision)申请
打包之后 ipa 文件通过 iTunes 安装,开始正常,安装到最后,图标消失,安装失败。

请确保设备在苹果开发者中心被添加,如下图所示
H5+开发常见问题20220623174211

若出现iOS开发者证书信息有误(请重新填写相关信息,iOS profile文件与私钥证书文件不匹配)。
H5+开发常见问题20220623174422
如果重新添加了账号,需要重新生成证书相关文件,而不是使用原有的证书文件,则按照官方文档重新生成证书。

BMW WARNING

  • Bulletin

本文首发于 skyline.show 欢迎访问,
文章实时更新,如果有什么错误或不严谨之处望请指出,十分感谢。
如果你觉得有用,欢迎到Github仓库点亮⭐️。

I am a bucolic migant worker but I never walk backwards.

  • Material

参考资料如下列出,部分引用可能遗漏或不可考,侵删。

  • Warrant

本文作者: Skyline(lty)

文章链接:http://www.skyline.show/H5+开发常见问题.html

授权声明: 本博客所有文章除特别声明外, 均采用 CC BY - NC - SA 3.0 协议。 转载请注明出处!

Copyright © 2017 - 2024 鹧鸪天 All Rights Reserved.

skyline 保留所有权利