uni-app 【已解决】setTitleNViewButtonBadge ios9.3.2闪退

uni-app 【已解决】setTitleNViewButtonBadge ios9.3.2闪退

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

setTitleNViewButtonBadge ios9.3.2闪退
void wobj.setTitleNViewButtonBadge(options);

官网地址:https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.setTitleNViewButtonBadge

[步骤]
直接调用就可以,ios系统9.3.2闪退,android正常

[结果]
闪退

[iOS版本号] 9.3.2

[手机型号] iphone se

[QQ] 365032083


更多关于uni-app 【已解决】setTitleNViewButtonBadge ios9.3.2闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

提供可以复现问题的demo

更多关于uni-app 【已解决】setTitleNViewButtonBadge ios9.3.2闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


大哥,就这个接口啊 let webview=this.$mp.page.$getAppWebview(); webview.setTitleNViewButtonBadge({ index: 0, text: 1, });

当然导航栏要的buttons要有一个图标先

回复 斌疯: text 是string类型,仔细看文档

回复 CLP: 嗯呢,后面发现了这个问题,主要一开始安卓的是正常的,没注意苹果端有要求类型

这是一个已知的iOS 9.x系统兼容性问题。setTitleNViewButtonBadge在iOS 9.x版本上确实存在闪退情况,主要原因是Webview原生实现中对旧版本iOS系统的支持不完善。

解决方案建议:

  1. 添加版本判断,iOS 9.x及以下版本不调用此方法
  2. 使用条件编译或运行时判断来规避此问题

示例代码:

// #ifndef APP-PLUS || !H5
if(plus.os.name === 'iOS' && parseInt(plus.os.version) >= 10) {
    wobj.setTitleNViewButtonBadge(options);
}
// #endif
回到顶部