iOS swift 4 свернуть приложение

Ранее задавал вопрос, суть - при нажатии на уведомление должен открыться диалог и далее действия на выбор пользователя. С диалогом разобрались - невозможно, ладно, симмитируем диалог в самом приложении (пусть и просто на черном фоне, скрыв основной визуальный компонент). Далее пользователь должен выбрать - либо запустить приложение ( и тогда вернём основной компонент), либо просто закрыть диалог - вот тут вопрос:

Как свернуть приложение? (Очень хотелось бы чтоб при этом его и в списке задач не висело). Читая примерно похожие вопросы и ответы на них, складывается впечатление что и этого нельзя сделать.

Ругался когда делал это андроиде, за корявость и ограниченность, но хоть можно реализовать в итоге, а тут так вообще караул получается :(.


Ответы (1 шт):

Автор решения: Andrew

Чтобы свернуть приложение в нужном месте вызываем этот метод:

exit(0)

либо:

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

и вот сборное использование методов выше:

@IBAction func minimizeOrKillApp(){            
        UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)

        Timer.scheduledTimer(withTimeInterval: 0.2, repeats: false) { (timer) in
            exit(0)
        }
    }

но приложение будет в списке задач висеть. Есть очень высокая вероятность что приложение не дадут выгрузить в апп стор (пруф). Туториал

→ Ссылка