Собственно впорос в теме. Логика подсказывает, что вряд ли бы Эппл одобрила такой подход к UX, но мало ли ))) Естественно, намеренный рантайм не считается, хочется управляемого поведения: например алерт, что надо что-то в настройках изменить и перезапустить, чтобы юзер не думал о выгрузке из памяти приложения…
Возможно ли завершить приложение кодом?
В любом месте вызвать fatalError() и преложение вылетит, считай завершится. Обратно запустить нельзя. Эппл не одобрит.
Я же просил без рантайма: зачем мне все эти ошибки в статистике? Я так не отличу фейк от настоящих
Вопрос то непраздный: например, я зпрашиваю нативную аутентификацию при помощи биометрии или кода на входе в приложение. Там у стандартного метода запроса отпечатка, например, есть подкапотная кнопка Cancel, и она выдаёт error отмены юзером аутентификации, который мы ловим. Что юзеру то делать дальше? Он не может зайти в приложение, например, потому что это не его телефон, мы получаем ошибку аутентификации и оставляем юзера созерцать вьюху входа А надо завершить приложение с инфо алертом, например.
знаю вот такое
exit(0)
let noBtn = UIAlertAction(title:"Cancel" , style: .destructive, handler: {(_ action: UIAlertAction) -> Void in
exit(0)
})
но приложение будет закрыто. по поводу перезапуска не уверен
получается, что метод есть, но им пользоваться нельзя Ну ок, пусть юзер смотрит логинВью )))
Тогда второй вопрос, который я пока не нагуглил:
Как при выходе из фона показать нужный контроллер с логином?
Update - нагугл тут на форуме, буду продовать ))) Всем спасибо
Странно конечно. Видишь алерт, в котором говориться что приложение щас закроется. Приложение закрывается и юзер думает что это креш.
А как быть с переключением языков “на лету” ? Один из вариантов как раз предусматривает перезагрузку, чтобы каши не было из старых и новых экранов.
В этом случае придется все экраны выгружать и создавать все с нуля. (хотя щас это технически не проблема)
Такой Алерт не увидишь
Если нужно на лету, то NSLocalizedString не подходит и нужно использовать что то другое.
This is not in compliance with the iOS Human Interface Guidelines, as required by the App Store Review Guidelines.
Для переключения языка на лету можно просто переинициализировать rootViewController.
Но по феншую, это лучше всего делать через нотификации.
так, ребята, я что-то запутался на ровном месте:
как в appDelegate прописать переход на нужный vc при выходе из фона? У меня почему-то через instantiateViewController не получается… Или надо по-другому?