flutter permission_handler調(diào)用iOS相機(jī)相冊(cè)請(qǐng)求權(quán)限問(wèn)題

前言

相信移動(dòng)端開(kāi)發(fā)的人員,是無(wú)法避開(kāi)申請(qǐng)權(quán)限的問(wèn)題;在flutter中也是會(huì)遇到此問(wèn)題,還好已經(jīng)有一個(gè)很好的第三方庫(kù)可以使用
permission_handler,是專門用來(lái)處理權(quán)限的,

flutter 使用permission_handler調(diào)用iOS相機(jī)相冊(cè)權(quán)限,好像沒(méi)有效果,不會(huì)彈出申請(qǐng)權(quán)限的彈框出來(lái),今天我們就來(lái)填坑

最終效果

camera.gif

第一步:iOS原生工程申請(qǐng)權(quán)限

打用XCode打開(kāi)iOS原生工程,找到info.plist文件,在里面填加key value,如下


image.png
第二步:在flutter里面代碼調(diào)用
    if (await Permission.camera.request().isGranted) {
      ///如果相機(jī)權(quán)限申請(qǐng)成功,下面寫(xiě)接下來(lái)要做的處理
      //do some thing...
    } else {
     ///如果相機(jī)權(quán)限申請(qǐng)失敗,下面給出提示
     //OwonToast.show(S.of(context).permission_no_camera);
    }

按正常理解完成上面的2步是可以正常使用,調(diào)起相機(jī)的權(quán)限申請(qǐng),但實(shí)際真機(jī)iPhone上是沒(méi)有任何效果

第三步:關(guān)鍵的一步(很多其他博主都寫(xiě)得不是很清楚)

打用XCode打開(kāi)iOS原生工程,找到Podfile文件,增加下面的代碼才可以哦(權(quán)限的數(shù)量根據(jù)個(gè)人需要,去增減,下面只是參考)

    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        ## dart: PermissionGroup.camera
        'PERMISSION_CAMERA=1',
        # dart: PermissionGroup. photos
        'PERMISSION_PHOTOS=1',
        'PERMISSION_PHOTOS_ADD_ONLY=1',
        # dart: [PermissionGroup. location, PermissionGroup. locationAlways, PermissionGroup. locationWhenInUse]
        'PERMISSION_LOCATION=1',
        # dart: PermissionGroup.mediaLibrary
        'PERMISSION MEDIA LIBRARY=1'
      ]
    end
image.png
第四步:需要重新Pod install

pod成功后,再去運(yùn)行代碼 ,沒(méi)有意外的話,就成功調(diào)用起相機(jī),相冊(cè)等

結(jié)尾

今天flutter 相關(guān)技術(shù)的分享就到這里嘍,小伴們,覺(jué)得有點(diǎn)用的話,或者已經(jīng)看到這里面來(lái)的請(qǐng)點(diǎn)個(gè)贊吧~~ 后續(xù)分享更多有關(guān)flutter的文章。如果有疑問(wèn)的話,請(qǐng)?jiān)谙路搅粞詞

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容