これは、彼らが私のiOSアプリはDIN受信されたときにプッシュ通知を処理するために、私のdidReceiveRemoteNotification
方法です:Swift:アプリの実行中にプッシュ通知を保存する方法
func showNotificationDetails(userInfo: [NSObject : AnyObject], application:UIApplication) {
print("showNotificationDetails")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let notificationController = storyboard.instantiateViewControllerWithIdentifier("DynamicEventsViewController") as! DynamicEventsViewController
notificationController.isLoadedFromNotification = true
notificationController.eventTitle = userInfo["aps"]!["alert"] as! String
notificationController.eventDescription = userInfo["aps"]!["message"] as! String
notificationController.isLoadedFromNotification = true
if let tabBarController = self.window?.rootViewController {
tabBarController.presentViewController(notificationController, animated: true, completion: nil)
}
application.applicationIconBadgeNumber -= 1
//application.cancelAllLocalNotifications()
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
let state:UIApplicationState = application.applicationState
if (state == UIApplicationState.Inactive || state == UIApplicationState.Background) {
self.showNotificationDetails(userInfo, application: application)
}
}
問題は、アプリケーションが実行されているとの通知が届いた場合は、それが格納されていないと、それが削除されていることですユーザは後でそれを見ることができない。ユーザーがそれを読むまでは、どのようにして通知を維持するのが適切な方法でどうすればよいですか? Divyeshが提案のように
アプリは、彼はそれが正しくないと言うので、それは私が行っていたまさにですが、私の上司は私がいることをしたくはありません –
フォアグラウンドであるときは、通知メッセージで警告を表示することができます! – user1576208
は通知データを保存するだけで、ローカル通知を使用することができます。アプリがバックグラウンドに入ったときに、保存された通知が利用可能かどうかを確認してからローカル通知を表示する –