我收到来自FCM的数据通知。当应用程序处于前台时,一切正常。当我关闭(杀死)应用程序并获得通知时,通过点击通知而不是我获取数据。我的问题是当我关闭应用程序并收到通知时,我没有点击通知,而是直接从应用程序图标打开应用程序。我没有在didFinishLaunchingWithOptions函数的launchOptions中获取任何数据。
以下是我的应用程序从应用程序图标启动时获取数据的代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if let remoteNotification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary {
self.handleNotification(remoteNotification as [NSObject : AnyObject])
}
FIRApp.configure()
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
// Add observer for InstanceID token refresh callback.
NSNotificationCenter
.defaultCenter()
.addObserver(self, selector: #selector(AppDelegate.tokenRefreshNotificaiton),
name: kFIRInstanceIDTokenRefreshNotification, object: nil)
return true
}
我的launchOptions
总是为零,尽管有通知有数据。
我正在使用swift2
和Xcode7
。请建议我为什么launchOptions
即将到来nil
?
我在google搜索它说它如果我将使用app图标打开应用程序launchOption将仅为零。