2017-04-13 54 views
0

我正在使用具有布爾方法調用的卡掃描庫來檢查相機權限是否已設置。 Swift 3中有一種方法可以根據警報動作控制器手動設置權限。Swift手動設置相機權限

我不想創建另一個imagepicker如果已經通過庫創建一個。

可以這樣做嗎?

感謝

+0

與系統警報 – DenFav

+0

權限中定義的不,你不能更改權限只能通過蘋果的官方警報設置。您無法使用自己的警報更新權限。但是,您可以執行的操作是,如果您檢測到設置已關閉,則會提示用戶提醒您打開應用程序設置並更改權限。此提醒可以直接打開應用設置。看到這裏:https://developer.apple.com/reference/uikit/uiapplicationopensettingsurlstring – Hodson

回答

1

不,你不能那樣做。但是,當然您可以讓用戶使用以下代碼授予權限,然後您可以將該值存儲在一個bool變量中以備將來使用。

if AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo) == AVAuthorizationStatus.authorized 
{ 
    // Already Authorized 
} 
else 
{ 
    AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo, completionHandler: { (granted :Bool) -> Void in 
     if granted == true 
     { 
     // User Granted 
     } 
     else 
     { 
     // User Rejected 
     } 
    }); 
} 
+0

@EricAya用swift代碼編輯我的答案。希望能幫到:) –

+0

不錯。已標記爲答案。 – user7684436

1

出於安全原因,沒有辦法以編程方式設置的應用權限,因爲這極易引起潛在的惡意應用程序操縱行爲。 Apple還希望爲關鍵的安全設置開發簡化的界面,包括針對單個應用程序的權限。

+0

好吧,我使用相同的alertController作爲相機的權限。它是一個虛擬ImagePicker :) – user7684436