我正在尝试编写一个快速的iOS应用程序,它将记录用户的声音。我已经迅速编写了以下代码,但是无法从用户那里请求麦克风权限。它可以正常打印,但从不记录音频,并且在“隐私”下的“设置”窗格中未列出该应用程序。如何快速请求录制权限?
var session: AVAudioSession = AVAudioSession.sharedInstance() session.requestRecordPermission({(granted: Bool)-> Void in if granted { println(" granted") session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil) session.setActive(true, error: nil) self.recorder.record() }else{ println("not granted") } })
从iOS 7开始,您需要检查它是否响应选择器 requestRecordPermission:
requestRecordPermission:
我已经使用带有 iOS 8 Beta* 的 iPhone 5S 测试了此代码,它可以完美运行。授予权限后,系统将不再要求它。 *
值得一提的是,使用 Simulator 时并没有征求许可。
这是我尝试并正在工作的代码:
if (session.respondsToSelector("requestRecordPermission:")) { AVAudioSession.sharedInstance().requestRecordPermission({(granted: Bool)-> Void in if granted { println("granted") session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil) session.setActive(true, error: nil) self.recorder () } else{ println("not granted") } }) }