Я пытаюсь записать аудио в проекте, который я унаследовал. Все используются для работы отлично, до iOS 9. Кажется, теперь requestRecordPermission называет его блоком с ложным, не отображая диалог. Когда я проверяю текущее разрешение, прежде чем запрашивать его, я всегда получаю Undetermined. Даже при последующих запусках приложения без сброса.AVAudioSession.requestRecordPermission не показывает диалог
Я тестирую на реальном устройстве и каждый раз сбрасываю разрешения (настройки-> общие-> сброс-> сбросить местоположение и конфиденциальность). Также мое приложение не отображается в настройках -> privacy-> microphone, но отображается в общем списке приложений, где я могу видеть другие разрешения, которые он использует, но нет микрофона.
Есть ли какие-то настройки проекта, которые могут повлиять на него? Похоже, что os не понимает, что я прошу разрешения, следовательно, нет диалогов и никаких указаний в разрешениях.
код:
AVAudioSessionRecordPermission permissionStatus = [[AVAudioSession sharedInstance] recordPermission];
switch (permissionStatus) {
case AVAudioSessionRecordPermissionUndetermined:
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
if (granted) {
NSLog(@"req granted");
}
else {
NSLog(@"req denied");
}
}];
break;
case AVAudioSessionRecordPermissionDenied:
NSLog(@"denied");
break;
case AVAudioSessionRecordPermissionGranted:
NSLog(@"granted");
break;
default:
break;
}
это в AppDelegate.applicationDidFinishLaunchingWithOptions. При каждом запуске (сначала после сброса, а затем и после) первая проверка возвращается неопределенно, а затем запросRecordPermission вызывает его блок с предоставленным = false без отображения диалогового окна.
Показать. Ваш. Код. – matt
Просто сделал. Благодаря! – Ridiculous
Отлично. Не могли бы вы также показать результаты журналов? Также, где этот код работает? – matt