2015-11-27 2 views
3

Я пытаюсь записать аудио в проекте, который я унаследовал. Все используются для работы отлично, до 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 без отображения диалогового окна.

+0

Показать. Ваш. Код. – matt

+0

Просто сделал. Благодаря! – Ridiculous

+0

Отлично. Не могли бы вы также показать результаты журналов? Также, где этот код работает? – matt

ответ

6

Установка «Отображаемое имя пульта» (в основном название вашего приложения) в «Info.plist» устранит проблему.

+2

Я так сильно тебя люблю. – Ridiculous

+0

Чувак, как ты это понял? Это так случайно. – etayluz