uni-app uni.getLocation 方法在 ios 上首次授权会报错
uni-app uni.getLocation 方法在 ios 上首次授权会报错
项目信息 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win10 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.45 |
手机系统 | iOS |
手机系统版本号 | iOS 17 |
手机厂商 | 苹果 |
手机机型 | iPhoneXs |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.getLocation({
type: 'wgs84',
success: (res) => {
console.log(res)
},
fail: (err) => {
uni.$u.toast('获取位置失败', err);
},
});
操作步骤:
- 申请定位权限时,用户授权定位。首次授权会报错
预期结果:
- 正常返回坐标
实际结果:
- 报错ReferenceError: Can’t find variable: error __ERROR
bug描述:
- uni.getLocation 每次授权都会报错 ReferenceError: Can’t find variable: error __ERROR
更多关于uni-app uni.getLocation 方法在 ios 上首次授权会报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
没人回复一下吗
更多关于uni-app uni.getLocation 方法在 ios 上首次授权会报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个报错不一定是 getLocation 产生的,看你的 fail 逻辑并不是输出这个,是否还有其他代码部分影响这个呢?
fail和success都没有执行。我把所有逻辑都去掉了还是这样。可以说 getLocation 都没有触发
一个星期了都没个人
这是一个iOS平台上uni.getLocation方法在首次授权时的常见问题。问题出在错误回调处理上,具体分析如下:
- 错误原因:
- iOS系统首次调用定位时,系统会弹出授权弹窗
- 用户授权后,uni-app框架内部处理逻辑存在异常
- 错误信息显示框架尝试访问未定义的error变量
- 解决方案: 修改错误回调处理方式,避免直接使用未定义的error变量:
uni.getLocation({
type: 'wgs84',
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log('定位失败:', err)
uni.$u.toast('获取位置失败: ' + (err.errMsg || '未知错误'))
}
})