【问题标题】:Camera permission keeps being denied on iOSiOS上的相机​​权限一直被拒绝
【发布时间】:2021-02-12 03:06:56
【问题描述】:

此代码正在请求相机权限以初始化相机以供以后使用,它在 Android 上运行良好,但在 iOS 上,权限不断被拒绝而没有显示权限请求对话框

  void _initCamera() async {
    if (await PermissionsService().hasCameraPermission()) {
      setState(() {
        isCameraPermissionGranted = true;
      });
      print('camera permission granted');
    } else {
      bool isGranted = await PermissionsService().requestCameraPermission(
          onPermissionDenied: () {
        AppUtil.showAlertDialog(
          context: context,
          heading: 'info',
          message:
              'You must grant this camera access to be able to use this feature.',
          firstBtnText: 'Give Permission',
          firstFunc: () async {
            Navigator.of(context).pop(false);
            await _initCamera();
          },
          secondBtnText: 'Leave',
          secondFunc: () async {
            print('camera permission denied');
            Navigator.of(context).pop();
            Navigator.of(context).pop();
          },
        );
      });
      setState(() {
        isCameraPermissionGranted = isGranted;
      });
      return;
    }

    if (isCameraPermissionGranted) {
      //initialization code
  }

知道为什么会发生这种行为吗?

【问题讨论】:

    标签: ios flutter dart camera


    【解决方案1】:

    在 iOS 的 Runner 文件夹的 info.plist 文件中添加这一行,这将授予 iOS 应用程序的相机访问权限

    <key>NSCameraUsageDescription</key>
        <string>This app requires access to the camera.</string>
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 1970-01-01
      • 2019-02-24
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 2011-06-25
      相关资源
      最近更新 更多