簡體   English   中英

flutter 彈出窗口未請求訪問相機的權限

[英]flutter popup is not coming to ask permission to access camera

我嘗試在真實 iphone 上請求相機權限以使用qr_code_scanner掃描 qr 碼,但彈出窗口未打開我在info.plist中添加NSCameraUsageDescription並在我的podfile中添加

post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
  config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
    '$(inherited)',
     'PERMISSION_CAMERA=0',
     'PERMISSION_PHOTOS=0',
     'PERMISSION_MEDIA_LIBRARY=0',
  ]
    end
  end 
end

這是我的代碼問我試試這個

getCamera() async {
   var status = await Permission.camera.status;
  if (!status.isGranted) {
  final result = await Permission.camera.request();
  if (result.isGranted) {
    setState(() {
    getPerm = true;
    });
  }
  } else {
  setState(() {
    getPerm = true;
  });
  }
}

和這個

void initState() {
super.initState();
  WidgetsBinding.instance.addPostFrameCallback(onLayoutDone);
 }
      void onLayoutDone(Duration timeStamp) async {
    _permissionStatus = await Permission.camera.status;
    if (_permissionStatus.isGranted) {
      setState(() {
        getPerm = true;
      });
    }
  }

  void _askCameraPermission() async {
    await Permission.camera.request();
    if (await Permission.camera.request().isGranted) {
      _permissionStatus = await Permission.camera.status;
      setState(() {
        getPerm = true;
      });
    }
  } 

並在按下按鈕時調用 _askCameraPermission function 沒有這種方式對我有用,除了相機工作之外的所有權限

您是在模擬器還是真實設備上運行您的應用程序? 是您插件的類似問題。

您也可以嘗試:

  1. 在 iOS 的應用程序設置中檢查您的應用程序的相機可用性;
  2. 調試您的應用程序以檢查權限狀態。

評論這些行

'PERMISSION_CAMERA=0',

'PERMISSION_PHOTOS=0',

並檢查您的 info.plist

所以我只是刪除了詢問請求 function 並且它起作用了我不知道如何但它起作用了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM