在IOS 8用戶現在被要求允許使用設備相機。這很好,但我的問題是我想在用戶真正需要相機之前詢問權限(當用戶第一次加載應用程序時)我知道這可以在要求用戶提前訪問相機膠捲時完成。要求用戶在使用相機之前使用相機的權限
回答
該應用程序只要求權限是當相機被實際訪問,所以你必須訪問它。你當然可以在AVCaptureSession的背景下做到這一點,不要顯示你得到的圖像。 以下是關於如何使用AVCaptureSession實現此目的的簡單的example。 我不會使用它,因爲用戶不知道相機的用途 - 除了明顯的例子(相機應用程序)。用戶可能會感到困惑,爲什麼打開相機。您可以查看描述您使用攝像頭的視圖,然後在後臺激活攝像頭以提示用戶,或者保持原樣,因爲它不需要太多時間。
@Aalbert - 我嘗試了示例代碼,但它不起作用 - 然而,您的答案給了我在我的初始viewController中創建imagePicker然後設置[imagePicker.view setHidden:YES]的想法;這會在用戶沒有使用相機的情況下提示用戶相機提醒。它的作品,但有點凌亂! – pete 2014-09-24 00:41:50
要回答我自己的問題以幫助他人解決類似問題,我使用以下代碼 - 效果很好,因爲要求用戶在創建imagePicker之前使用設備相機的權限。
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:NULL];
if (deviceInput)
{
// user has excepted camera
} else {
// user has NOT excepted camera
}
這是不正確的。使用'AVCatpureDevice requestAccessForMediaType:completionHandler:'。 – rmaddy 2014-09-27 02:09:12
- 1. iOS8相機權限提示顯示 - 但相機未使用
- 2. 請求在片段中使用相機權限
- 3. Android應用程序不要求相機權限
- 4. Phonegap相機權限
- 5. 使用手機的相機
- 6. 檢測使用的相機(前置或後置相機)
- 7. 使用iPhone相機
- 8. 使用iPhone相機
- 9. 使用Android相機
- 10. 使用Android相機
- 11. 黑莓相機權限
- 12. 如何將照相機傳輸給有權限的用戶
- 13. 在CrossMobile中使用相機
- 14. 如何在相機中使用相機應用程序
- 15. 使用其他權限啓動相機活動
- 16. 相機無法在手機上使用
- 17. 使用uEye相機的OpenCV
- 18. WebRTC,瀏覽器不要求使用相機和麥克風的權限 - 但在本地它
- 19. iPhone相機使用ZBarSDK
- 20. 相機旋轉使用lookAt
- 21. Android,如何使用相機
- 22. 如何使用相機
- 23. 使用Raycaster與Orthographic相機
- 24. 使用相機OK按鈕
- 25. 使用glulookat旋轉相機
- 26. 在應用程序中使用相機
- 27. 在相機覆蓋圖(iPhone)上使用標準相機按鈕
- 28. 使用手機相機與wap
- 29. Google的VisionAPI示例FaceTracker相機權限
- 30. 使用相機的圖像選擇器沒有使用相機圖像
沒有API。如果您有良好的使用案例,我建議您向Apple提交一份增強請求。 – matt 2014-09-23 23:45:55
我不知道你的具體使用情況,但是蘋果的設計指南指出,出於上下文的彈出窗口可能會令人反感,他們建議不要這樣做。我詳細閱讀了關於在啓動時提醒蘋果ID恢復應用程序內購買的內容,雖然這還不算差,但可能值得考慮這一建議。 – matt 2014-09-24 00:24:39
@matt'AVCaptureDevice'有一個類方法'requestAccessForMediaType'來做到這一點。 – Rob 2014-12-13 02:23:57