uni-app iOS 配置白名单在升级hbuilderX后不能跳转 urlschemewhitelist
操作步骤
测试
预期结果
可以跳转
实际结果
不能跳转
bug描述
iOS 之前配置白名单能跳转,现在不行了,不能跳转了
“urlschemewhitelist” : “dingtalk,dingtalk-openauth,dingtalk-openauth2”
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | 14.4 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.45 |
手机系统 | iOS |
手机系统版本号 | iOS 18 |
手机厂商 | 苹果 |
手机机型 | iphonex |
页面类型 | nvue |
vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
在uni-app中配置iOS的白名单(URL Scheme Whitelist)通常是为了允许应用跳转到指定的外部链接或应用。如果在升级HBuilderX后遇到无法跳转的问题,可能是由于配置方式有所变化或者新版本中有一些已知的bug。以下是一个基本的配置步骤和代码示例,确保你的白名单配置正确无误。
1. 配置manifest.json
首先,确保在manifest.json
文件中正确配置了urlschemewhitelist
。这里是一个配置示例:
{
"mp-weixin": {},
"app-plus": {
"distribute": {
"apple": {
"urlschemewhitelist": [
"https://example.com",
"http://another-example.com",
"someapp://"
]
}
}
}
}
在这个配置中,我们为iOS平台添加了三个白名单项:两个HTTP/HTTPS链接和一个自定义的URL Scheme。
2. 检查HBuilderX版本
确保你使用的HBuilderX是最新版本,因为开发者工具会不断更新修复bug。可以在HBuilderX的“帮助”菜单中检查更新。
3. 清理和重建项目
有时候,旧的构建缓存可能会导致配置不生效。尝试清理项目并重新构建:
- 在HBuilderX中,选择“发行”->“原生App-云端打包”。
- 在打包设置中确认选中的是iOS平台,并且配置正确。
- 执行打包前,可以选择“清理项目”。
4. 代码示例:跳转URL
在uni-app的代码中,你可以使用uni.navigateToMiniProgram
或window.location.href
(对于Webview)等方式进行跳转。这里是一个简单的使用web-view
组件跳转的示例:
<template>
<view>
<button @click="navigateToUrl">Open URL</button>
<web-view :src="webviewUrl"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
webviewUrl: ''
};
},
methods: {
navigateToUrl() {
this.webviewUrl = 'https://example.com'; // 确保这个URL在白名单中
}
}
};
</script>
5. 调试和日志
如果问题依旧存在,尝试查看应用的控制台日志,看看是否有关于跳转失败的错误信息。这可以帮助你进一步定位问题。
通过上述步骤,你应该能够解决因升级HBuilderX后导致的iOS白名单配置问题。如果问题仍然存在,建议查阅HBuilderX的官方文档或社区论坛,看看是否有其他开发者遇到并解决了相同的问题。