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方法在首次授权时的常见问题。问题出在错误回调处理上,具体分析如下:

  1. 错误原因:
  • iOS系统首次调用定位时,系统会弹出授权弹窗
  • 用户授权后,uni-app框架内部处理逻辑存在异常
  • 错误信息显示框架尝试访问未定义的error变量
  1. 解决方案: 修改错误回调处理方式,避免直接使用未定义的error变量:
uni.getLocation({
  type: 'wgs84',
  success: (res) => {
    console.log(res)
  },
  fail: (err) => {
    console.log('定位失败:', err)
    uni.$u.toast('获取位置失败: ' + (err.errMsg || '未知错误'))
  }
})
回到顶部