Я использую следующий код для проверки авторизации MPMediaLibrary:
func handlePermissions() {
let permissionStatus = MPMediaLibrary.authorizationStatus()
switch (permissionStatus) {
case MPMediaLibraryAuthorizationStatus.authorized:
print("permission status is authorized")
case MPMediaLibraryAuthorizationStatus.notDetermined:
print("permission status is not determined")
MPMediaLibrary.requestAuthorization(MPMediaLibraryAuthorizationStatus -> permissionStatus)
case MPMediaLibraryAuthorizationStatus.denied:
print("permission status is denied")
case MPMediaLibraryAuthorizationStatus.restricted:
print("permission status is restricted")
}
}
В конечном счете, я пытаюсь запросить у пользователя авторизацию (при запуске) перед вызовом запроса... через случай MPMediaLibraryAuthorizationStatus.notDetermined:. Приведенный выше код выдает ошибку: Ожидаемый тип после '->'. Когда строка requestAuthorization() закомментирована, приложение аварийно завершает работу при запуске (доступ не был авторизован) и после исчезновения экрана запуска отображается окно запроса авторизации.
Я видел несколько примеров выполнения requestAuthorization() в Objective C, но ничего в Swift. Я не понимаю:
MPMediaLibrary.requestAuthorization( handler: (MPMediaLibraryAuthorizationStatus) -> Void )
Как правильно запросить авторизацию для доступа к MPMediaLibrary в Swift 3?