2015-01-08 4 views
3

마이크 액세스/녹음이 필요한 앱에서 작업하고 있습니다. 지금까지는 내 권한 처리가 작동하고 있다고 생각했지만 TestFlight 베타 테스터는 시뮬레이터 및 iOS7 테스트 장치에서 작동하지만 마이크 기능을 사용할 수 없습니다.마이크 사용 권한이 의도 한대로 작동하지 않습니다.

여기 내 허락 코드 : 심지어 시뮬레이터에 리셋 개인 정보 보호 및 위치, 프롬프트를 재현 할 수없는 오전

AVAudioSession *session = [AVAudioSession sharedInstance]; 
    if ([session respondsToSelector:@selector(requestRecordPermission:)]) { 
     [session performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) { 
      if (granted) { 
       //granted 
      } 
      else { 
       //not granted 
       } 
     } 
     ]; 
    }else{ 
     //iOS6 seems to be missing this feature -> always available 
    } 

프롬프트가 표시되지 않습니다 것을 의미합니다. 그럼에도 불구하고 나는 허가를받은 것처럼 시뮬레이터의 마이크로 작업 할 수 있습니다.

중요한 것은 앱이 개인 정보 보호 아래 마이크 액세스 앱으로 표시되지 않는다는 것입니다 (분명히해야 함).

위의 권한 요청이 승인 된 후에도 iOS8 플래그 [AvAudioSession sharedInstance].recordPermission을 인쇄하는 경우 항상 AVAudioSessionRecordPermissionUndetermined입니다.

테스트 코드의 짧은 조각 :

[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) { 
     NSLog(@"GRANTED: %i", granted); 
    }]; 
    NSLog(@"RECORD PERMISSION: %i", [AVAudioSession sharedInstance].recordPermission == AVAudioSessionRecordPermissionUndetermined?1:0); 

나를 위해 출력을 생성은 "도 부여 : 1", "RECORD 권한 : 1"오른쪽 불가능해야합니까?

현재 iOS8에서 내 앱을 사용할 수 없습니다.

답변

1

시뮬레이터에서 마이크 액세스에 대한 권한 확인을 수행하지 않거나 개인 정보 보호 아래에 나열합니다. 단순히 오디오 녹음이 작동하도록 허용합니다. 이 장치를 실제 장치에서 테스트해야합니다. 두려워요.

관련 답변 : requestRecordPermission does nothing

관련 문제