Как завершить приложение программно в iOS 12 - PullRequest
0 голосов
/ 11 июня 2018

У меня проблема: я установил свой iPhone 6 на iOS 12 beta 1, и поэтому в моем приложении закрывается метод, когда нажатие всплывающей кнопки не работает на iOS 12, но работает на iOS 11.4.1

Это метод, который я использовал:

UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)

В iOS 11 приложение завершает работу правильно, в iOS 12 приложение не завершает работу, просто ничего не делайте, когда нажимаете на всплывающую кнопку.

Я знаю, что это Swift 4.2, и когда я просматривал новости и модификации, я не видел ничего похожего на ссылку с новым методом для правильного закрытия приложения.

Мне это нужно, потому что я использую его для закрытияприложение, если человек не принимает Условия использования.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Попробуйте этот код:

DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
    UIApplication.shared.perform(#selector(NSXPCConnection.suspend))
     DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
      exit(0)
     }
}

Это будет ждать 1 секунду, а закрытию приложения потребуется 0,5 секунды.Вы можете уменьшить яркость дисплея перед этим фрагментом кода.

0 голосов
/ 11 июня 2018

Вы можете вызвать выход метод

exit(-1)

или использовать NSXPCConnection.suspend

UIControl().sendAction(#selector(NSXPCConnection.suspend),
                       to: UIApplication.shared, for: nil)

Кроме Apple, нетрекомендует принудительно прекратить ваше приложение.Неважно, как вы это делаете.

Проверьте эту запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...