l***@163.com
l***@163.com
  • 发布:2026-07-09 18:05
  • 更新:2026-07-25 23:06
  • 阅读:569

【报Bug】 uniapp ios 腾讯地图调用uni.chooselocation 提示 Error: encrypt client key payload fail 页面列表空白

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows 11

HBuilderX类型: 正式

HBuilderX版本号: 5.06

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iphone 8

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

export function chooseLocationGetAddress() {
return new Promise((resolve, reject) => {
console.log('? ~ chooseLocationGetAddress ~ promise')
uni.chooseLocation({
useSecureNetwork: true,
success(res) {
console.log('? ~ chooseLocationGetAddress ~ res:', res)
const addressObj = parseAddress(res.address)
if (res.latitude && res.longitude) {
const data = {
code: 200,
msg: '成功',
data: { ...addressObj, addressDetail: res.name },
}
resolve(data)
}
},
fail(err) {
console.log('? ~ chooseLocationGetAddress ~ err:', err)
reject(err)
},
})
},
)
}

操作步骤:

正常点击选择地址按钮,进入uni.chooseLocation页面,列表空白,控制台报错Error: encrypt client key payload fail

预期结果:

正常点击选择地址按钮,进入uni.chooseLocation页面,列表正常展示周边地址。

实际结果:

进入uni.chooseLocation页面,列表空白,控制台报错Error: encrypt client key payload fail

bug描述:

uniapp ios 腾讯地图调用uni.chooselocation 提示 Error: encrypt client key payload fail 页面列表空白。且用同配置打包Android可以正常使用uni.chooseLocation api

2026-07-09 18:05 负责人:无 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 5.22.2026072503-alpha 已修复。

Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

你好,我是 DCloud 官方人员。感谢你提交的 Bug 反馈。针对你反馈的 uni.chooseLocation 在 iOS 端提示 Error: encrypt client key payload fail 且列表空白的问题,我进行了详细的评审与分析,以下是评审意见及排查建议:

1. Bug 反馈内容完整性评审

  • BUG 描述:描述清晰,明确指出了 iOS 端调用报错且列表空白,同时说明了同配置下 Android 端可以正常使用,这对排查平台差异非常有帮助。
  • 代码示例:提供的代码示例包含了完整的 Promise 封装和 uni.chooseLocation 调用,且使用了 useSecureNetwork: true 参数,可以直接运行,无需额外调整。
  • 复现步骤:步骤简单明了,结合代码示例可以顺利复现。
  • 预期与实际结果:预期结果合理,实际结果描述准确,符合该 Bug 的表现。
  • 分类信息:包含 PC 环境、HBuilderX 版本(5.06 正式版)、Vue3 等关键信息。但需要补充说明的是,你填写的手机 OS 平台为 Android(机型 vivo iQOO Neo 10),而 Bug 描述中明确指出是 iOS 端出现的问题。建议后续反馈时注意核对设备信息,并补充 iOS 的具体机型和系统版本。

2. Bug 是否成立及原因分析

根据知识库依据,此问题通常是由于安全网络配置不完整或不一致导致的,并非框架本身的 Bug。

在 iOS 和 Android 平台,出于安全考虑,manifest.json 内配置的腾讯地图 Key 仅用于展示地图。uni.chooseLocation 依赖的地点搜索、逆地址解析功能需要通过 uniCloud 云对象 uni-map-co 来调用,并推荐通过安全网络保障 API 不被盗用。
参考官方文档:uni.chooseLocation 文档

你提供的代码中使用了 useSecureNetwork: true,这要求应用必须严格完成安全网络的接入。如果 Android 正常而 iOS 报错,极有可能是 iOS 端的安全网络配置缺失或未生效。此外,社区中也有开发者遇到相同报错,通常与自定义基座或云端打包的安全网络配置有关(参考:Ask 社区相同报错案例)。

3. 修复建议与排查步骤

请按照以下步骤检查你的 iOS 工程配置:

  1. 检查 manifest.json 模块配置:在 HBuilderX 中打开 manifest.json -> App 模块配置 -> 勾选 安全网络 模块。
  2. 重新制作自定义基座:修改模块配置后,必须重新制作包含安全网络模块的 iOS 自定义基座,标准基座或旧基座无法生效。
  3. 检查 uniCloud 关联:确保项目已正确关联 uniCloud 服务空间,并且应用已关联到该服务空间。
  4. 检查 uni-map-co 部署与配置
    • 确保已导入 uni-map-co 插件,并在 uni-config-center 中正确配置了腾讯地图的 Key。
    • 确保已上传 uni-map-co 云对象、uni-config-centeruni-map-common 公共模块到服务空间。
    • 参考文档在 uni-map-coindex.obj.js 入口文件中添加请求拦截逻辑,拒绝非法请求。
  5. 备选方案:如果在 iOS 端不需要使用安全网络,可以尝试在代码中移除 useSecureNetwork: true 参数,但这会降低服务端 API 的安全性。

请按照上述步骤排查 iOS 端的安全网络配置,通常配置完整并重新打包后即可解决此问题。

内容为 AI 生成,仅供参考
DCloud_App_Array

DCloud_App_Array

请提供appid

  • l***@163.com (作者)

    已提供

    2026-07-10 11:15

  • DCloud_App_Array

    回复 l***@163.com: 后台没有查到最近的打包记录,重新提交一个云端打包(使用传统打包模式)

    2026-07-10 11:43

  • l***@163.com (作者)

    回复 DCloud_App_Array: 已提交云打包,并且测试问题仍然存在。

    2026-07-10 17:41

DCloud_Android_THB

DCloud_Android_THB

我用你的wgt包里的信息,本地未能复现, 你换一个设备是否正常?

  • l***@163.com (作者)

    我有两台iOS设备都是一样的问题,HBuilder X和cli也都升级到5.15了,重新打的自定义调试基座包,还是报错‌‌Error: encrypt client key payload fail,uni.chooseLocation页面地图定位成功了,但是下方列表展示空的。且Android设备正常。

    2026-07-16 11:13

  • DCloud_Android_THB

    回复 l***@163.com: 这两台设备是否很早就用过安全网络了? 这个可能和早期keychain的钥匙有关系

    2026-07-16 12:48

  • DCloud_Android_THB

    回复 DCloud_Android_THB: 我尝试修复了这个问题, 你再打个包, 然后我这边用你的资源单独生产一个ipa,你试一下

    2026-07-16 13:00

  • l***@163.com (作者)

    回复 DCloud_Android_THB: 已经打包了,自定义调试基座包和正式包各打了一个。

    2026-07-16 14:48

  • DCloud_Android_THB

    回复 l***@163.com: 你看一下uni-im, ipa发你了, 试一下

    2026-07-16 15:52

  • l***@163.com (作者)

    回复 DCloud_Android_THB: 问题解决了,但是我自己打的包还不行,需要做什么处理吗,而且我还有一个应用也是一样的问题。

    2026-07-17 10:25

  • DCloud_Android_THB

    回复 l***@163.com: 这个需要跟着下次版本更新解决

    2026-07-20 11:10

要回复问题请先登录注册