Показать контроллер представления, когда приложение возвращается из фона (iOS 13) - PullRequest
0 голосов
/ 05 октября 2019

Я хотел бы показывать запрос пароля каждый раз, когда мое приложение возвращается из фона (поверьте мне, это имеет смысл, это не раздражает; это похоже на то, что делает 1Password).

Итак Мне нужно показывать определенный ViewController каждый раз, когда приложение выходит на передний план или каждые 10 минут .

Я много пробовал, но, похоже, он не работает,Например:

func applicationWillResignActive(_ application: UIApplication) {
    print("called it")
}

func applicationDidBecomeActive(_ application: UIApplication) {
    print("called it")
}

func applicationWillEnterForeground(_ application: UIApplication) {
    print("called it")
}

Эти методы просто не вызываются на моем устройстве. Обратите внимание, что приложение доступно только для iOS 13. Произошли некоторые изменения, которые я не понимаю (сцены?).

У кого-нибудь есть идея?

Спасибо.

1 Ответ

3 голосов
/ 05 октября 2019

Вам следует воспользоваться NotificationCenter .

    NotificationCenter.default.addObserver(self, selector: #selector(showThePasswordViewController), name: UIApplication.didBecomeActiveNotification, object: nil)

После добавления этой строки кода, возможно, в ваших основных видах viewDidLoad () , вам также понадобится функция с именем showThePasswordViewController () или что-то ещехочу это назвать. Обязательно объявляйте это так, как вы добавляете наблюдателя:

    @objc showThePasswordViewController() {
    //your code to present it
    }

Не обескураживайте «@objc», это не значит, что вам нужно писать объективноC. Также помните, что когда вы добавляете наблюдателя, вы пишете имя вашей функции в скобках после # селектора без скобок, подобных этой, в конце (), как показано выше. Надеюсь, это поможет, Ганс.

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