requestRecordPermission什么都不做

Kev*_*ury 13 permissions record ios avaudiosession ios7

自iOS 7更新以来,录制应用程序发生了一些变化.我有一个应用程序曾经使用iOS 5和6,但当我尝试在iOS 7上运行它 - 录音没有响应.

我检查了互联网,看到有一种新方法需要调用.我试图将此代码放在viewDidAppear中:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
    if([[AVAudioSession sharedInstance] respondsToSelector:@selector(requestRecordPermission:)])
    {
        [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
            NSLog(@"permission : %d", granted);
        }];
    }
}
Run Code Online (Sandbox Code Playgroud)

'grant'总是1,虽然我没有授予任何权限,也没有看到任何请求弹出窗口.

顺便说一句,我正在尝试使用xcode 4.6.3来处理这个问题.我使用requestRecordPermission方法为AVAudioSession创建了一个类别,因为此方法仅在iOS 7中可用.

谢谢.

Yog*_*ari 25

我在iOS7模拟器上测试时遇到了同样的问题,看起来requestRecordPermission在模拟器中不起作用,"grant"总是返回YES.你必须在真实的​​设备上测试它.

如果您在设备上测试了一次并响应了权限弹出窗口,则在完成位置和隐私重置之前,权限弹出窗口不会再次出现.

要重置位置和隐私,请按以下步骤操作

Go to Settings -> General -> Reset -> Reset Location & Privacy and then press "Reset Warnings" when asked.
Run Code Online (Sandbox Code Playgroud)


Onk*_*arK 10

获得应用程序的音频权限后.您的应用不会再次显示权限提示.

如果您想测试它,请更改应用的套装ID并尝试.