【问题标题】:Check AVAudioSession record permission status检查 AVAudioSession 记录权限状态
【发布时间】:2014-07-15 17:10:31
【问题描述】:
是否可以在不启动标准 iOS 请求流程的情况下检查记录权限状态(是否授予)?
例如,如果我想知道是否授予了录制权限,但没有在 [AVAudioSession sharedInstance] 上调用 -requestRecordPermission,这将使 iOS 向用户提示允许访问麦克风。
我正在寻找类似于 CLLocationManager 的 authorizationStatus kCLAuthorizationStatusNotDetermined 的东西
谢谢
【问题讨论】:
标签:
ios
ios7
avaudiosession
【解决方案1】:
在 iOS 8 中,他们为 AVAudioSession 添加了一个新属性:
[AVAudioSession sharedInstance].recordPermission
返回一个AVAudioSessionRecordPermission:
enum {
AVAudioSessionRecordPermissionUndetermined = 'undt',
AVAudioSessionRecordPermissionDenied = 'deny',
AVAudioSessionRecordPermissionGranted = 'grnt'
};
typedef NSUInteger AVAudioSessionRecordPermission;
但在 iOS 7 中似乎没有办法。
【解决方案2】:
快速回答:
if AVAudioSession.sharedInstance().recordPermission() == .Denied {
MKAlertViewController().instantaneousAlert(title: "Erreur", message: "Vous n'avez pas autorisé l'application à accéder au micro")
}