我有一个应用程序需要能够拍照(不是视频)。我在网上找到了如何检测用户是否已授予相机权限的方法。经过一番查询,我发现可以使用
以下是我在网上找到的授权示例代码,但我不知道它是否适用于仅拍照的情况。
AVAuthorizationStatus
来判断。但是,在苹果文档中却写道:
那么如果我想要拍照呢?怎么办?没有使用除 AVMediaTypeVideo 或 AVMediaTypeAudio 之外的任何媒体类型调用此方法都会引发异常。
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
框架,但它只提供访问照片库的权限,而不能使用相机。