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

如何在Expo@49项目中配置react-native-permissions的Pod与AndroidManifest

将React Native CLI项目转Expo托管后配置react-native-permissions

Expo托管项目无法直接修改原生Podfile或AndroidManifest.xml,需通过Expo配置系统来满足react-native-permissions的要求,以下是具体实现步骤:

一、iOS端配置(对应Podfile修改)

react-native-permissions在iOS需要声明权限描述,并按需引入权限模块,可通过以下方式实现:

  1. 安装辅助插件:
    安装expo-build-properties来修改Podfile配置:
    npx expo install expo-build-properties
    
  2. 在app.config.js中配置Podfile与权限描述:
    在配置文件中添加插件,定义Podfile所需的权限模块,并写入Info.plist权限说明:
    export default {
      expo: {
        // 其他基础配置
        plugins: [
          [
            'expo-build-properties',
            {
              ios: {
                podfileProperties: {
                  pre_install: `
                    permissions_path = '../node_modules/react-native-permissions/ios'
                    // 按需添加你需要的权限模块,示例为相机、使用中位置权限
                    pod 'Permission-Camera', :path => "#{permissions_path}/Camera"
                    pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse"
                  `
                }
              }
            }
          ],
          {
            ios: {
              infoPlist: {
                NSCameraUsageDescription: "需要访问相机拍摄照片",
                NSLocationWhenInUseUsageDescription: "需要访问位置提供定位服务"
                // 对应启用的权限,添加对应的描述文本
              }
            }
          }
        ]
      }
    };
    

二、Android端配置(对应AndroidManifest修改)

Android仅需在app.config.js的android.permissions数组中声明所需权限,Expo会自动将其合并到AndroidManifest.xml:

export default {
  expo: {
    // 其他基础配置
    android: {
      permissions: [
        'CAMERA',
        'ACCESS_FINE_LOCATION',
        // 按需添加所需权限,如READ_EXTERNAL_STORAGE等
      ]
    }
  }
};

三、验证配置

运行以下命令预览生成的原生配置,确认Podfile和AndroidManifest.xml符合要求:

npx expo prebuild --no-install

四、注意事项

  • 仅添加实际用到的权限模块,避免冗余配置导致审核问题
  • 确保react-native-permissions版本与当前Expo SDK版本兼容
  • 若需更复杂的原生配置修改,可编写自定义Expo Config Plugin来实现针对性的Podfile或AndroidManifest调整

内容的提问来源于stack exchange,提问作者Jitendera Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:43:14