Qt for ios 開啟相機(新增許可權)
前言
我們都知道,Qt Quick開發移動端程式時,相機開發可以通過Camera+VideoOutput來實現預覽,可用於開發 Android,也可以用於開發 IOS,這確實是很方便的,但是由於系統許可權的限制,需要手動開啟平臺相關的許可權。否則將會無法使用該功能。
正文
我們先來看看Qt 自帶的示例 演示如何開啟攝像頭功能並預覽:
Item { width: 640 height: 360 Camera { id: camera imageProcessing.whiteBalanceMode: CameraImageProcessing.WhiteBalanceFlash exposure { exposureCompensation: -1.0 exposureMode: Camera.ExposurePortrait } flash.mode: Camera.FlashRedEyeReduction imageCapture { onImageCaptured: { photoPreview.source = preview // Show the preview in an Image } } } VideoOutput { source: camera anchors.fill: parent focus : visible // to receive focus and capture key events when visible } Image { id: photoPreview } }
ios 新增相機許可權
我們在之前的文章中介紹瞭如何將 Qt 程式拿到 xcode 中進行編譯,文章在這裡,在通過命令列生成 xcode 工程檔案的時候會生成一個plist 檔案,那麼,根據那篇文章的介紹,我們在 xcode 中開啟 Qt 工程,然後 點選工程名,可以進行屬性設定,找到info 一欄,許可權就是在 info 中進行新增的,這裡的 info 屬性就是配置 info.plist檔案,如圖:
然後將滑鼠移動到左側任意一個 item,會出現一個+號,點選加號即可新增一個屬性欄:
點選加號新增 item,然後通過在列表顯示中向下滑動並找到 Privacy - Camera Usage Descrip… 即可,如下圖:
接下來右側屬性欄,雙擊並修改屬性介紹,如下圖:
填寫這個 value 值的作用就是告訴使用者呼叫攝像頭的用途是什麼,第一次在執行該程式的時候,呼叫攝像頭 系統會自動彈出一個對話方塊, 內容就會顯示呼叫攝像頭的原因。
OK,開啟該許可權後就可以正常呼叫攝像頭了。
此外,關於 IOS 的一些常用許可權,可以順便了解一下,也是通過同樣的方式進行開啟的:
相機許可權:Privacy - Camera Usage Description 允許此許可權才能使用相機功,這樣才能錄製視訊,並且想要儲存圖片。
相簿許可權:Privacy - Photo Library Usage Description 允許此許可權才能使用系統相簿。
麥克風許可權:Privacy - Microphone Usage Description 獲取麥克風許可權不然會崩,只有允許此許可權才能錄音。