uni-app 4.15版打包后安装包的定位问题

uni-app 4.15版打包后安装包的定位问题

开发环境 版本号 项目创建方式
Windows 22H2 HBuilderX
Android Android 14
手机厂商 手机机型
华为 mate 60 pro

操作步骤:

  • 在用uniapp4.15版本打包安卓app安装包后,更新或安装app如果不连接WiFi,则会出现uni.getLocation定位报错,会一直访问不了定位,直到连接到WiFi后才能正常获取定位,

预期结果:

  • 更新或安装app如果不连接WiFi,则会出现uni.getLocation定位不报错,

实际结果:

  • 更新或安装app如果不连接WiFi,则会出现uni.getLocation定位报错,

bug描述:

  • 在用uniapp4.15版本打包安卓app安装包后,更新或安装app如果不连接WiFi,则会出现uni.getLocation定位报错,会一直访问不了定位,直到连接到WiFi后才能正常获取定位,而且获取定位后在断开也可以正常使用一段时间,目前只在华为mate 60 Pro上复现过一次,之后手机去到另一城市,卸载后再次出现相同问题,并且我们员工端在这次更新后出现了非常多的定位问题,应该和这个类似,希望的到官方和民间大佬关注,讨论一下到底是uniapp的问题还是华为手机的问题,补充一下,另一个和我们同类型的平台也是uniapp开发,也同样出现了一样的问题

更多关于uni-app 4.15版打包后安装包的定位问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

13 回复

此问题已知,需更新高德sdk解决,请关注下个版本。

更多关于uni-app 4.15版打包后安装包的定位问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


修改一下,手机到另一个城市后,并未卸载而是没连WiFi直接打开app就出现了相同问题,这样的话问题就比较严重了,还有定位是高德,添加了高德用户名,ios和安卓key的,之前也可以正常定位

高德那边回复了,说需要你们官方更新一下高德最新的sdk

看我帖子

他这网站搜索有问题,我当时搜过定位相关问题,没搜到,现在搜也没有

回复 泰到位: 哎只能干等着,我们也是跟你同类型平台

回复 vue2干到退休: 关注一下我,兄嘚

回复 泰到位: 关注了,

回复 泰到位: 怎么不能私信

回复 vue2干到退休: alpha版你们用了吗?有没有bug?

回复 泰到位: 直接打包上了,没技师反馈定位有问题了

测试是干什么吃的?问题怎么多!

uni-app 4.15 版本中,打包后的安装包可能会遇到定位问题,尤其是在 Android 和 iOS 平台上。以下是一些常见问题及其解决方法:


1. 定位权限问题

  • 问题描述:应用打包后无法获取定位信息,可能是由于定位权限未正确配置。
  • 解决方法
    • Android:在 manifest.json 中确保已添加定位权限:
      {
        "permissions": {
          "android": [
            "android.permission.ACCESS_FINE_LOCATION",
            "android.permission.ACCESS_COARSE_LOCATION"
          ]
        }
      }
      
    • iOS:在 manifest.json 中确保已添加定位权限描述:
      {
        "app-plus": {
          "distribute": {
            "ios": {
              "plist": {
                "NSLocationWhenInUseUsageDescription": "需要获取您的位置以提供更好的服务",
                "NSLocationAlwaysUsageDescription": "需要获取您的位置以提供更好的服务"
              }
            }
          }
        }
      }
      

2. 定位功能无法使用

  • 问题描述:配置了权限,但定位功能仍然无法使用。
  • 解决方法
    • 确保项目中使用了正确的定位 API,例如 uni.getLocation
    • 检查是否在 manifest.json 中启用了定位模块:
      {
        "app-plus": {
          "modules": {
            "Geolocation": {}
          }
        }
      }
      
    • 在真机测试时,确保设备的定位功能已开启,并授予了应用定位权限。

3. iOS 打包后定位失效

  • 问题描述:iOS 打包后定位功能失效,可能是由于打包配置问题。
  • 解决方法
    • 确保在 Xcode 中正确配置了定位权限:
      1. 打开 Xcode 项目。
      2. Info.plist 中添加以下键值:
        <key>NSLocationWhenInUseUsageDescription</key>
        <string>需要获取您的位置以提供更好的服务</string>
        <key>NSLocationAlwaysUsageDescription</key>
        <string>需要获取您的位置以提供更好的服务</string>
        
    • 在 HBuilderX 中,确保选择了正确的打包模式(如 ReleaseDebug)。

4. Android 打包后定位不准确

  • 问题描述:Android 打包后定位不准确,可能是由于缺少高精度定位配置。
  • 解决方法
    • uni.getLocation 中设置 highAccuracytrue
      uni.getLocation({
        type: 'wgs84',
        highAccuracy: true,
        success: function (res) {
          console.log('定位成功:', res);
        },
        fail: function (err) {
          console.log('定位失败:', err);
        }
      });
      
    • 确保设备支持高精度定位(如 GPS 或网络定位)。

5. H5 平台定位问题

  • 问题描述:H5 平台无法获取定位,可能是由于浏览器不支持或未授权。
  • 解决方法
    • 确保在支持定位的浏览器中运行(如 Chrome、Firefox)。
    • 检查浏览器是否已授权定位权限。
    • manifest.json 中配置 H5 平台的定位权限:
      {
        "h5": {
          "geolocation": {
            "enable": true
          }
        }
      }
回到顶部