uni-app 所有权限都取消了 还是在打开app时弹出权限询问 卡住审核

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app 所有权限都取消了 还是在打开app时弹出权限询问 卡住审核

操作步骤:

  • 去掉所有权限打包

预期结果:

  • 不使用不弹出权限使用框

实际结果:

  • 弹出图片和通信的权限使用框

bug描述:

所有权限都取消了 还是在打开app的时候弹出权限询问,这个卡住审核了。。。。。 安装包下载地址 https://www.jjzxapp.com/oos2/jjkj/html/app/UNI2E0C054_0607163616.ipa.zip

信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 macOS Monterey 12.2.1
HBuilderX类型 正式
HBuilderX版本号 3.4.7
手机系统 Android
手机系统版本号 Android 11
手机厂商 小米
手机机型 MI8SE
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

Image 1 Image 2 Image 3 Image 4


10 回复

是云打包么?


回复 小枫叶: 是云打包

回复 3***@qq.com: 我建了一个空包 就是一个空项目 啥都有没有 所有权限都不选 依然有那两个弹窗

应用市场审核不过去,说是不使用不能提前获取用户权限, 给下架了 救命~~~

回复 3***@qq.com: 配置一下隐私弹窗 隐私弹窗之前,他是不会获取 权限的

回复 小枫叶: 最关键的是即使客户同意了隐私弹窗,在没有实际使用权限之前也不能获取,必须到用的时候才能获取

审核是这么说的:App业务功能所需的权限最好在对应业务功能执行时动态申请,在用户未触发相关业务功能时,不提前申请与当前业务功能无感的权限。

uni-app 开发中,即使你在代码中取消了所有权限请求,应用在启动时仍然可能会弹出权限询问对话框,这通常是因为某些系统默认行为或第三方库的自动权限请求所导致的。以下是一些可能的原因和解决方案:

1. 检查 manifest.json 中的权限配置

确保你在 manifest.json 文件中没有声明任何不必要的权限。例如:

{
  "permissions": {
    "android": [],
    "ios": []
  }
}

如果你在 manifest.json 中声明了权限,系统可能会在应用启动时自动弹出权限请求。

2. 检查第三方插件的权限

如果你使用了第三方插件或库,这些插件可能会自动请求权限。检查你项目中使用的插件,尤其是那些与设备功能(如相机、地理位置、存储等)相关的插件,确保它们没有在启动时自动请求权限。

你可以通过以下方式排查:

  • 查看插件的文档,确认是否有权限请求行为。
  • 尝试移除或替换某些插件,看看问题是否依然存在。

3. 检查原生代码

如果你在项目中使用了原生代码(如 Android 的 AndroidManifest.xml 或 iOS 的 Info.plist),确保这些文件中没有声明不必要的权限。

  • Android: 检查 AndroidManifest.xml 文件,确保没有 <uses-permission> 标签。
  • iOS: 检查 Info.plist 文件,确保没有不必要的权限声明。

4. 检查 uni-app 的默认行为

uni-app 本身可能会在某些情况下自动请求权限,尤其是当你使用了某些特定的 API 或功能时。例如,使用 uni.getLocation 时,uni-app 会自动请求地理位置权限。

你可以通过以下方式避免自动权限请求:

  • 在代码中避免使用需要权限的 API,或者在用户明确同意后再调用这些 API。
  • 使用 uni.authorize 手动控制权限请求的时机。

5. 使用 uni-app 的权限管理插件

uni-app 提供了 uni.authorizeuni.getSetting 等 API 来管理权限请求。你可以使用这些 API 来控制权限请求的时机,避免在应用启动时自动弹出权限请求。

例如:

uni.getSetting({
  success(res) {
    if (!res.authSetting['scope.userLocation']) {
      // 如果用户没有授权地理位置权限,手动请求
      uni.authorize({
        scope: 'scope.userLocation',
        success() {
          // 用户同意授权
        },
        fail() {
          // 用户拒绝授权
        }
      });
    }
  }
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!