Я создаю приложение для iOS в Swift, и в AppDelegate я вставляю следующий код в didFinishLaunchingWithOptions , чтобы запросить разрешения на уведомления
let center = UNUserNotificationCenter.current()
center.delegate = self
// set the type as sound or badge
center.requestAuthorization(options: [.sound,.alert,.badge]) { (granted, error) in
guard granted else { return }
DispatchQueue.main.async(execute: {
application.registerForRemoteNotifications()
})
}
Между тем, в ViewDidLoad,Я спрашиваю пользователя о разрешениях для микрофона следующим образом:
func checkPermission()
{
switch AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeAudio)
{
case .authorized:
print("ok2")
self.addButton()
self.voice()
case .notDetermined:
AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeAudio, completionHandler: { granted in
if granted {
print("ok1")
self.addButton()
self.voice()
else {
print("ko")
}
})
case .denied:
print("ko")
case .restricted:
return
}
}
Проблема заключается в следующем: после принятия разрешений для микрофона я принимаю разрешения на уведомления, но после этого код в ViewController не выполняется (методы addButton и voice не выполняются).
Не могли бы вы мне помочь?Большое спасибо заранее