Проверьте разрешение микрофона на iOS 7 без отображения подсказки

Единственный задокументированный метод проверки разрешения микрофона на iOS 7, который я смог найти, — это requestRecordPermission задокументированный на AVAudioSession. https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/AVAudioSession/requestRecordPermission:

Однако сам акт проверки разрешения с использованием этого метода будет отображать предупреждение, запрашивающее у пользователя разрешение, если пользователь еще не принял решение, что может быть очень нежелательным. Есть ли способ проверить разрешение микрофона без отображения подсказки?


person Tony    schedule 27.10.2013    source источник


Ответы (1)


В iOS 8 в AVAudioSession добавили новое свойство:

[AVAudioSession sharedInstance].recordPermission

Это возвращает AVAudioSessionRecordPermission:

enum {
   AVAudioSessionRecordPermissionUndetermined     = 'undt',
   AVAudioSessionRecordPermissionDenied           = 'deny',
   AVAudioSessionRecordPermissionGranted          = 'grnt'
};
typedef NSUInteger  AVAudioSessionRecordPermission;

Но, похоже, в iOS 7 нет способа.

person Mr. T    schedule 15.10.2014
comment
Похоже, есть способ проверить это как на iOS 7, так и на 8: stackoverflow.com/a/31161351/1827383 - person Matt Cooper; 16.08.2015