wählen Sie können die mit recordPermission() überprüfen, die seit iOS verfügbar ist 8.
Beachten Sie, dass mit iOS starten 10, Sie müssen die NSMicrophoneUsageDescription
Eigenschaft in Ihrem für Mikrofon Berechtigungen festlegen. Sie müssen einen Wert angeben, der in der Zugriffsanforderung angezeigt wird. Wenn Sie Ihre App lokalisieren, achten Sie darauf, dass Sie Ihre Plist-Zeichenfolgen für die Übersetzung angeben.
Geschieht dies nicht, wird zu einem Absturz führen, wenn das Mikrofon zuzugreifen versuchen.
Diese Antwort wurde bisher für wieder behoben Swift 4,0
import AVFoundation
switch AVAudioSession.sharedInstance().recordPermission() {
case AVAudioSessionRecordPermission.granted:
print("Permission granted")
case AVAudioSessionRecordPermission.denied:
print("Pemission denied")
case AVAudioSessionRecordPermission.undetermined:
print("Request permission here")
AVAudioSession.sharedInstance().requestRecordPermission({ (granted) in
// Handle granted
})
}
Swift 3.0
Das gegen einen das Mikrofon des aktuellen Status für die Überprüfung iOS 10-Umgebung getestet worden ist.
switch AVAudioSession.sharedInstance().recordPermission() {
case AVAudioSessionRecordPermission.granted:
print("Permission granted")
case AVAudioSessionRecordPermission.denied:
print("Pemission denied")
case AVAudioSessionRecordPermission.undetermined:
print("Request permission here")
default:
break
}
Objective-C
ich diesen Code mit iOS getestet haben 8 für den Zweck, für Mikrofon Genehmigung der Überprüfung und den aktuellen Zustand zu erhalten.
switch ([[AVAudioSession sharedInstance] recordPermission]) {
case AVAudioSessionRecordPermissionGranted:
break;
case AVAudioSessionRecordPermissionDenied:
break;
case AVAudioSessionRecordPermissionUndetermined:
// This is the initial state before a user has made any choice
// You can use this spot to request permission here if you want
break;
default:
break;
}
Wie immer, stellen Sie sicher, import AVFoundation
.
ich eine ähnliche Frage hier beantwortet: http://stackoverflow.com/a/39250149/2870477 –