7***@qq.com
7***@qq.com
  • 发布:2023-01-07 13:59
  • 更新:2023-01-07 15:27
  • 阅读:495

【报Bug】uniapp 打包IOS应用,使用plus.runtime.openURL跳转至百度、高度三方地图无效 (安卓正常)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.15

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone8 Plus

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

跳转URL判断配置
// 百度地图url
const urlBaiduMap = baidumap://map/marker?location=${stationLat},${stationLng}&title=${stationName || ''}&content=${stationName || ''}
// 高德地图url
const urlAmap = iosamap://viewMap?sourceApplication=applicationName&poiname=${stationName || ''}&lat=${stationLat}&lon=${stationLng}&dev=0
// 苹果地图url
const appleMap = http://maps.apple.com/?q=${stationName || ''}&ll=${stationLat},${stationLng}

点击跳转
plus.runtime.openURL(encodeURI(url));

manifest.json配置

"ios" : {
"urltypes" : "baidumap,iosamap",
"idfa" : false,
"dSYMs" : false,
"urlschemewhitelist" : "baidumap,iosamap"
},
"apple" : {
"urlschemewhitelist" : "baidumap,iosamap"
},

操作步骤:

打包IOS应用后,点击 plus.runtime.openURL(encodeURI(url)),跳转百度地图、高德地图无反应,apple地图正常跳转

预期结果:

百度地图、高德地图可以跳转

实际结果:

百度地图、高德地图点击跳转无法用, plus.runtime.openURL的错误回调也未执行

bug描述:

uniapp 打包IOS应用,使用plus.runtime.openURL跳转至百度、高度三方地图无效 (安卓正常)
manifest的urlschemewhitelist已配置,在基座调试正常跳转,打包后不行,IOS使用自有证书云打包-传统打包

2023-01-07 13:59 负责人:无 分享
已邀请:
7***@qq.com

7***@qq.com (作者)

这个问题 网上搜索几天也没找到原因
看官方给的文档 也没解决问题 https://ask.dcloud.net.cn/article/434
三方的百度、高德app能检查到是否安装,这说明白名单schemes已经添加了,就是跳转不过去

7***@qq.com

7***@qq.com (作者)

问题已解决
个人开发配置问题
把UrlSchemes也配置成iosamap,baidumap 了,导致自己app的标识就是要跳转的应用了
相当于自己跳自己
UrlSchemes 删掉即可

要回复问题请先登录注册