uni-app iOS 配置白名单在升级hbuilderX后不能跳转 urlschemewhitelist

发布于 1周前 作者 nodeper 来自 Uni-App

操作步骤

测试

预期结果

可以跳转

实际结果

不能跳转

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

1 回复

在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.navigateToMiniProgramwindow.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的官方文档或社区论坛,看看是否有其他开发者遇到并解决了相同的问题。

回到顶部