收藏
回答

wx.getLocation()无授权弹框,预览/真机调试/体验和线上版本均无效?

开发阶段在开发者工具端,没有任何问题。

测试阶段发现 在手机端几乎不会弹出授权框(有偶尔几次弹出)。

wx.openSetting()打开设置页也没有关于位置信息的设置项。

调试显示wx.getLocation()直接走了fail()返回内容:{errMsg: "getLocation:fail authorize no response"}

有尝试使用wx.authorize在onShow()里按照文档实例加入以下代码提前向用户发起授权请求。

wx.getSetting({
  success(res) {

    if (!res.authSetting['scope.userLocation']) {

     console.log(res.authSetting);

      wx.authorize({
        scope: 'scope.userLocation',
        success(e) {
          console.log(e);
        }
      })
    }
  }
});

结果为console.log(res.authSetting);执行并且打印出的内容的确没有scope.userLocation,但是授权弹框没有弹出。


下面是我的操作流程:

  • 清除开发者工具的授权数据

  • 使用iPhone进行真机调试(已确认打开微信本身的定位权限 级别为 使用App期间)

  • 进入小程序后查看设置页面 并没有定为相关的选项(即从未执行过定位授权)

  • 进入需要定位的页面 在页面的onShow()里的提前向用户发起授权请求的代码,但未弹出授权框。

  • 点击wx.getLocation()所在的事件的按钮后,直接走了fail()返回内容:{errMsg: "getLocation:fail authorize no response"}(使用安卓手机整体流程也一样但这里报错与iPhone不一致 内容:{errMsg: "getLocation:fail meet frequency limit, please slowdown and try again later"})。

以下是代码片段:

https://developers.weixin.qq.com/s/Ig9MUPmI7gc4

最后一次编辑于  11-12
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    11-12

    工具版本是?

    11-12
    赞同
    回复 7
    • _ Hellsin.
      _ Hellsin.
      11-12
      Mac端的1.02.1910120
      11-12
      回复
    • _ Hellsin.
      _ Hellsin.
      11-12
      https://developers.weixin.qq.com/s/Ig9MUPmI7gc4 代码片段 在开发者工具内点击测试是可以弹出授权的 手机端不行 再进一步排查后 强制调用授权弹窗后基本都报的都是频率问题 getLcation()的报错iPhone报的不太一样始终是getLocation:fail authorize no response。
      11-12
      回复
    • _ Hellsin.
      _ Hellsin.
      11-12
      如果是频率问题,我没有找到频率相关的文档说明或者设置。另外在正式小程序中,每次测试都会清楚所有缓存,所以在每次getLocation前都会先在登陆时getUserInfo,这是否也和提示的频率相关,所以几乎每次都会提示我频率太快?
      11-12
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      11-12回复_ Hellsin.
      打开设置看下有授权信息吗?
      11-12
      回复
    • _ Hellsin.
      _ Hellsin.
      11-12回复社区技术运营专员-小柿子
      手机端吗?没有。
      11-12
      回复
    查看更多(2)
  • Hanks
    Hanks
    11-12

    谢邀,你看看微信有定位的权限吗?如果微信都没有,微信内部的小程序,也获取不了

    11-12
    赞同
    回复
  • 老张
    老张
    11-12

    先确定工具里点击:清缓存--清除授权数据,后,还有这种情况。

    11-12
    赞同
    回复 1
    • _ Hellsin.
      _ Hellsin.
      11-12
      确定清除了。
      11-12
      回复
  • G-STEPS街舞工作室
    G-STEPS街舞工作室
    11-12

    是不是在手机上上拒绝过访问定位,拒绝过的话一段时间内是不会出弹窗,直接返回 fail 的

    11-12
    赞同
    回复
问题标签