Приложение вынуждено перезагрузить iOS с новыми настройками конфиденциальности - PullRequest
0 голосов
/ 22 ноября 2018

если пользователь изменяет разрешение «Камера», приложение вылетает в фоновом режиме с сообщением от отладчика: прекращено из-за сигнала 9.

Теперь они могут открыть приложение, и разрешение верное, но им нужноначать с самого начала.Кто-нибудь знает, как это исправить?

Мне нужно предложить пользователям изменить разрешения камеры для моего приложения через UIAlertController.Предупреждение имеет следующее действие:

alert.addAction(UIAlertAction(title: "Open Settings", style: .default, handler: { (action) -> Void in

    guard let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) else {
        return
    }

    if UIApplication.shared.canOpenURL(settingsUrl) {
        DispatchQueue.main.async(execute: {
            UIApplication.shared.openURL(settingsUrl)
        })
    }
}))

1 Ответ

0 голосов
/ 22 ноября 2018

Это не проблема вашего приложения.Это просто способ, которым Apple разработала iOS.iOS прекратит работу приложения, когда пользователь изменит определенные права доступа к нему.

На самом деле вы получите сообщение SIGKILL, но нет журнала сбоев при переключении настроек.В этой ситуации даже applicationWillTerminate не позвонят!

Поэтому ответ таков: вы не можете это исправить.

Посмотрите на страницу 24 этого слайда

...