我正在使用Swift构建一个可以接收推送通知的应用程序。我在JSON中发送自定义值。

我正在通过通知打开应用程序,因此我知道我必须在“didFinishLaunchingWithOptions”内部执行此操作,并从“launchOptions”中读取值。

如何读取这些值并在我的应用程序中使用它们。

非常感谢。

最佳答案

当您的应用未启动时,这就是在SWIFT 2中对我有效的方法。由于可选的绑定(bind),该代码不是很优雅。但这行得通。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    // if launched from a tap on a notification
    if let launchOptions = launchOptions {
        if let userInfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey] {
            if let action = userInfo["action"], id = userInfo["id"] {
                let rootViewController = self.window!.rootViewController as! ViewController
                let _ = setTimeout(5.0, block: { () -> Void in
                    rootViewController.openNotification(action as! String, id: id as! String)
                })

            }
        }
    }
    return true
}

关于ios - 如何快速从launchOptions获取自定义推送通知值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29505351/

10-12 13:03