iOS 9 - 请求照片的相机授权

iOS 9 - Request Camera authorisation for photos

我有一个应用程序需要能够拍照(不是视频)。我在网上寻找如何检测用户是否已授予相机权限。

一段时间后,我发现您可以使用 AVAuthorizationStatus 来解决这个问题。但是,在 Apple 文档中它说:

Calling this method with any media type other than AVMediaTypeVideo or AVMediaTypeAudio raises an exception.

那我想拍照怎么办?我怎么做?没有 AVMediaTypePhoto 并且我无法找到如何以任何其他方式授权相机访问。

这是我在网上找的授权示例代码,不知道如果只是想拍照能不能用

#import <AVFoundation/AVFoundation.h>

AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

    if(status == AVAuthorizationStatusAuthorized) { // authorized

    }
    else if(status == AVAuthorizationStatusDenied){ // denied

    }
    else if(status == AVAuthorizationStatusRestricted){ // restricted


    }
    else if(status == AVAuthorizationStatusNotDetermined){ // not determined

        [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
            if(granted){ // Access has been granted ..do something

            } else { // Access denied ..do something

            }
        }];
    }

更新 1

我也在研究 PHPhotoLibrary 框架,但它只提供对照片库的访问,而不是相机。

是的,我问题中的代码确实有效,我只是在 iOS 模拟器而不是真正的 iDevice 上测试它是愚蠢的......我想我需要喝杯咖啡休息一下: )

在 Info.plist 中设置 CFBundleDisplayName = "AppName" for iOS 9

使用 iOS 9,您应该在 Info.plist.

中使用密钥输入您的应用程序名称:"Bundle Display Name"

多亏了这个

改变这个

Info.plist

至此

Info.plist