uni-app uni.getLocation云打包后ios端获取不到定位信息
uni-app uni.getLocation云打包后ios端获取不到定位信息
项目信息 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Mac |
PC开发环境版本 | 10.15.7 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.7.10 |
手机系统 | iOS |
手机系统版本 | iOS 15 |
手机厂商 | 苹果 |
手机机型 | iphone 11pro max |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.getLocation({
type: "gcj02",
geocode: true,
isHighAccuracy: true,
success(res) {console.log('定位信息',res);},
fail(err) {console.log('定位失败',err)},
操作步骤:
云打包后,示例代码获取不到定位信息
预期结果:
云打包后,示例代码可以正常获取定位信息
实际结果:
云打包后,示例代码不能获取到定位信息
bug描述:
ios真机调试,可以获取到定位信息,云打包后,获取不到定位信息,success、fail方法都没走 报错信息如下:
{
"errMsg": "getLocation:fail Error Domain=PGLocation Code=2 \"不能获取到位置\" ,
UserInfo={NSLocalizedDescription=不能获取到位置},
https://ask.dcloud.net.cn/article/282",
"errCode": -1502,
"code": -1502
}
更多关于uni-app uni.getLocation云打包后ios端获取不到定位信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
manifest.json中配置定位sdk信息了么
更多关于uni-app uni.getLocation云打包后ios端获取不到定位信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
配置了,高德定位,android定位没有问题,ios真机调试也能获取到定位,云打包后就获取不到了
回复 2***@qq.com: 日志正好是卡在uni.getLocation不往下走了么?我刚试了下,不过是百度的,ios没问题
回复 套马杆的套子: 发布后,看不到日志,真机调试没有问题
回复 2***@qq.com:你真机调试是自定义基座么? 发布可以toast试试
回复 套马杆的套子: 是自定义机座
回复 2***@qq.com: 怀疑还是ios的appkey有点问题
是,我们之前用都没有问题,最近更新了一下app,定位这边的代码一点都没有动,重新打包后,ios系统高德定位,ios上就获取不到位置信息了
回复 2***@qq.com: 我也遇到了,请问您解决了吗
回复 2***@qq.com: 解决了,高德的bundleid和包不一致
在 uni-app
中使用 uni.getLocation
获取定位信息时,如果云打包后 iOS 端无法获取到定位信息,可能是以下原因导致的。以下是一些常见的排查步骤和解决方案:
1. 检查权限配置
iOS 需要明确配置定位权限,确保在 manifest.json
中正确配置了以下权限:
{
"app-plus": {
"distribute": {
"ios": {
"permissions": {
"NSLocationWhenInUseUsageDescription": "需要获取您的位置信息以提供更好的服务",
"NSLocationAlwaysUsageDescription": "需要获取您的位置信息以提供更好的服务"
}
}
}
}
}
确保 NSLocationWhenInUseUsageDescription
和 NSLocationAlwaysUsageDescription
字段已正确配置,并且描述文案清晰。
2. 检查设备定位服务是否开启
确保 iOS 设备的定位服务已开启,并且当前应用被允许使用定位权限。可以在设备的 设置 > 隐私 > 定位服务 中检查。
3. 检查云打包配置
在云打包时,确保勾选了 定位
权限。在 HBuilderX 的云打包界面中,找到 iOS 权限配置,确保 定位
权限已开启。
4. 检查代码逻辑
确保 uni.getLocation
的调用方式正确。例如:
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log('定位成功:', res);
},
fail: function (err) {
console.error('定位失败:', err);
}
});