单击推送通知打开应用程序时调用哪种方法

时间:2016-03-21 04:47:54

标签: ios swift push-notification ios9

我只是在我的应用程序中实现推送通知。 问题:当我的应用程序关闭,我得到推送通知,当我点击它。我想打电话给一个api所以我想知道通过哪种方法可以处理这个问题。 注意:主要是app处于关闭状态。

这是我的代码

if (application.applicationState == .Active)
    {
        print("Active")



    }
    else (application.applicationState == .Inactive)
    {
        print("InActive")
    }

但此代码仅在我的应用处于有效状态或非活动状态时有效。当我的应用程序完全关闭时,我该怎么做呢。

3 个答案:

答案 0 :(得分:4)

当您关闭应用程序并收到推送通知时,如果您点击它,则会调用didFinishLaunchingWithOptions

在那里,您将获得一个特殊键,通过单击推送通知来检查用户是否已打开。您可以通过以下方式查看:

//Checking user has tapped on Notification or not!

if let dicTemp = launchOptions?["UIApplicationLaunchOptionsRemoteNotificationKey"] {
    //Notification Key Found
}

答案 1 :(得分:0)

不幸的是,正常的推送通知无法启动您的应用,如果它没有运行。然而,还有一种名为Apple PushKit的替代方案,它似乎已经测试了几年。它是 - 用于与VOIP应用程序一起使用以取代"始终保持插座打开"用于处理来电,但重要的是,它会在您的设备收到PushKit通知时启动您的应用。

我不知道Apple是否会允许应用程序进入使用PushKit的商店。

我已经习惯了,(大约一年前),它确实有效,但是有问题,有时只是停止接受来电通知。

答案 2 :(得分:0)

对于swift 3,您可以通过以下方式进行检查:

if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.localNotification] {
    //Notification Key Found
    print("Local Notification")
} else if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] {
    print("Remote Notification")
}