2

我需要为麦克风权限创建一个自定义 ui,有没有办法做到这一点。

下面是权限块如何工作的代码。这个调用似乎很难?App Shazam正在这样做。

[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted){
if (granted) {
    NSLog(@"granted");
} else {
    NSLog(@"denied");
}}];

沙赞权限

4

2 回答 2

7

我不知道有任何方法可以规避UIAlertViewsApple 提出的要求用户提供权限的方法。但是,您可以做的是:

  • 提供一个视图,更详细地解释您需要特定权限的原因。像 Shazam 一样有两个按钮。并告诉用户点击 OK 将显示警报以确认。
  • 如果用户点击确定,触发一些需要用户许可的动作(例如位置)或使用系统提供的请求许可的方式(例如麦克风)。
  • 如果用户点击“不允许”,您将来仍然可以再次显示该界面。有更多的解释。

这种方法比总是立即使用系统的权限对话要好,因为这通常只能在应用程序内拒绝一次。在警报视图之前使用自定义视图可以让您更频繁地询问。

我们还发布了一个框架来帮助您:https ://github.com/iosphere/ISHPermissionKit

于 2014-05-15T07:46:34.293 回答
1

对于 iOS >= 7.0

在你的 app.plist 中添加这个键:NSMicrophoneUsageDescription和你想要的自定义提示。更多细节在这里:https ://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW1

于 2014-05-15T12:01:46.343 回答