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

Expo React Native iOS已授权仍提示相机权限缺失问题求助

Expo React Native预构建应用iOS相机权限异常排查方案

问题背景

我正在开发一个已完成预构建的Expo React Native应用(拥有独立的iOS和Android文件夹),按照expo-image-picker SDK 50的要求配置了Info.plist权限,但在iOS设备上即使手动允许权限,仍收到错误[Error: Missing camera or camera roll permission]。调用getCameraPermissionsAsync()查询权限状态,返回结果始终为{"canAskAgain": false, "expires": "never", "granted": false, "status": "denied"}。

依赖版本:

"expo": "50.0.6",    
"react-native": "0.73.2",  
"expo-image-picker": "14.7.1",

相机调用代码:

async captureImageFromCamera(): Promise<ImagePicker.ImagePickerAsset[] | null> {
    const permissionStatus = await ImagePicker.requestCameraPermissionsAsync();
    console.log(permissionStatus)

    if (permissionStatus.granted) {
      const response = await ImagePicker.launchCameraAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images });
      if (response.canceled) {
        throw new OperationCancelledError('Operation was cancelled by the user');
      }
      return response?.assets;
     }
    console.log(permissionStatus)
    throw new PermissionDeniedError('Camera Permissions are denied');
  }

解决建议

  • 检查Info.plist权限配置完整性
    确保iOS项目的Info.plist中同时添加相机和相册的权限描述,SDK 50版本的expo-image-picker调用相机时可能依赖相册权限:

    <key>NSCameraUsageDescription</key>
    <string>需要访问相机拍摄照片</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>需要访问相册保存或选择照片</string>
    

    注意:必须直接检查ios/[你的项目名称]/Info.plist文件,而非仅依赖expo的配置同步。

  • 重置应用权限缓存
    前往iOS系统设置→你的应用→权限,手动关闭并重新开启相机/相册权限;或直接卸载应用后重新安装,清除旧的权限状态缓存。

  • 优化权限请求逻辑
    在发起权限请求前,先判断当前权限状态,如果canAskAgain为false,直接引导用户前往系统设置开启权限:

    const currentStatus = await ImagePicker.getCameraPermissionsAsync();
    if (!currentStatus.granted && !currentStatus.canAskAgain) {
      Alert.alert('权限提示', '请前往系统设置开启相机权限', [
        { text: '取消' },
        { text: '去设置', onPress: () => Linking.openSettings() }
      ]);
      return null;
    }
    // 再执行权限请求逻辑
    
  • 更新依赖版本
    尝试将expo-image-picker升级到SDK 50兼容的最新版本,或同步更新expo到最新补丁版本,修复已知的权限判定类bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 15:42:22