You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo应用因位置权限说明不足遭App Store拒审问题排查

Expo应用App Store拒审(位置权限说明失效)排查与解决方案

拒审原因排查

  1. 权限配置优先级冲突:Expo 49中expo-location插件的权限配置会直接覆盖app.json里infoPlist的手动配置,若插件内的权限说明设置不规范或内容模糊,会触发系统默认提示。
  2. 权限键配置不完整:若应用请求后台位置权限,仅配置NSLocationWhenInUseUsageDescription是不够的,需同时补充NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationAlwaysUsageDescription,缺失会导致说明不生效或被判定用途不明确。
  3. 构建缓存未更新:旧的构建缓存可能保留了默认权限文本,新配置的自定义说明未被打包进应用包。

合规解决方案

  • 修正expo-location插件配置:确保插件内的权限说明清晰具体,明确告知用户位置信息的使用场景,示例配置如下:
    {
      "expo": {
        "plugins": [
          [
            "expo-location",
            {
              "locationAlwaysAndWhenInUsePermission": "我们需要获取您的位置信息,用于为您推荐周边商家、提供实时导航服务,以及在后台同步订单位置状态。",
              "locationWhenInUsePermission": "我们需要获取您的位置信息,用于为您推荐周边商家、提供实时导航服务。"
            }
          ]
        ]
      }
    }
    
  • 补充完整infoPlist权限键:对应所有用到的位置权限,添加明确的用途说明,示例:
    {
      "expo": {
        "ios": {
          "infoPlist": {
            "NSLocationWhenInUseUsageDescription": "我们需要获取您的位置信息,用于为您推荐周边商家、提供实时导航服务。",
            "NSLocationAlwaysAndWhenInUseUsageDescription": "我们需要获取您的位置信息,用于为您推荐周边商家、提供实时导航服务,以及在后台同步订单位置状态。",
            "NSLocationAlwaysUsageDescription": "我们需要在后台获取您的位置信息,用于同步订单位置状态。"
          }
        }
      }
    }
    
  • 清理构建缓存:运行npx expo prebuild --clean(裸工作流),或在EAS构建时勾选清除缓存选项,确保新配置的权限说明被正确打包。
  • 验证权限提示:在iOS真机或模拟器上测试应用,确认权限弹窗显示自定义的说明文本,而非默认提示。
  • 重新提交审核:完成上述修改后重新构建应用并提交,可在审核备注中说明已更新位置权限的用途说明,明确告知苹果权限的具体使用场景。

内容的提问来源于stack exchange,提问作者Muhammad Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:52:22