Определите, было ли приложение открыто, нажав push-уведомление или нажав значок приложения - PullRequest
0 голосов
/ 24 сентября 2019

Я видел много вопросов здесь об этой проблеме, но ни один из них точно не ответил на вопрос.

Есть ли способ проверить, было ли приложение открыто пользователем, нажимающим на push-уведомление, или оно было открыто пользователем, щелкающим значок приложения на домашней странице.Мне нужен мой код, чтобы делать разные вещи для разных сценариев.

Многие люди говорят, что используют didReceiveRemoteNotification, который только проверяет, было ли получено уведомление.Ничего, если уведомление было отправлено.

1 Ответ

2 голосов
/ 24 сентября 2019

Чтобы увидеть, как было запущено ваше приложение, в вашем приложении (_: didFinishLaunchingWithOptions :) проверьте ключ launchOptions.Например,

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        if let keys = launchOptions?.keys {
            if keys.contains(.location) {
                NSLog("Launched due to location update");
            } else if keys.contains(.remoteNotification) {
                NSLog("Launched due to remote notification");
            }
        } else {
            NSLog("Launched manually");
        }

    }

Для получения более подробной информации, пожалуйста, прочитайте официальную документацию Apple по адресу https://developer.apple.com/documentation/uikit/app_and_environment/responding_to_the_launch_of_your_app#2922740

...