Так что дело в том, что мне нужно вызвать некоторую функцию после того, как пользователь предоставит (или отклонит) разрешение на использование микрофона.Как определить пользователя, предоставляющего разрешение на микрофон для iOS?
Я уже видел это:
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
if (granted) {
// Microphone enabled code
[self someFunction];
}
else {
// Microphone disabled code
}
}];
Однако, это работает только для обнаружения текущего состояния.
Если текущее состояние «нет», а всплывающее окно отображается, и пользователь дает разрешение - функция не будет вызываться. Это потому, что в момент выполнения этого разрешения было «нет», и пока мы не запустим код в следующий раз, функция не будет вызвана.
Что я хочу сделать, это вызвать функцию после нажатия пользователем «разрешить» или «уклониться».
Кто-нибудь знает, как это сделать?
EDIT: Забыл упомянуть, что это должно быть iOS 7.0-совместимое решение.
Я не думаю, что вы можете обнаружить выбор автоматических разрешений записей, однако, вы можете создать таймер, который проверяет, если приложение имеет разрешения на каждый 1 второй или около того, и, если это произойдет, таймер останавливается, и приложение идет о своей цели, как и ожидалось. – vaid
Это также верно – veich