2016-03-30 8 views
0

私のiOSアプリのハンドルは、次のようにプッシュ通知を:ユーザがLater、その後、通知カウンタはとにかく0に設定されているをタップし、それが永遠に失われているように、何の通知バナーはもうありません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 = 0 
    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) 
    } 
    else if (state == UIApplicationState.Active) { 
     let alertNewNotification = UIAlertController(title: "New notification received!", message: "Would you like to see details?", preferredStyle: .Alert) 
     alertNewNotification.addAction(UIAlertAction(title: "Show", style: .Default, handler: { (action) -> Void in 
      self.showNotificationDetails(userInfo, application: application) 
     })) 
     alertNewNotification.addAction(UIAlertAction(title: "Later", style: .Default, handler: { (action) -> Void in 
      alertNewNotification.dismissViewControllerAnimated(true, completion: nil) 
     })) 
     if let tabBarController = self.window?.rootViewController { 
      tabBarController.presentViewController(alertNewNotification, animated: true, completion: nil) 
     } 
    } 
} 

場合であっても。どうして?

+0

もそのメソッド内で呼び出すことができますか?カウンターはどこですか?またはなぜバナーが来ないのか他のもの – HardikDG

+0

申し訳ありませんが、今日私はそれらを実装しようとしたのは初めてのため、プッシュ通知で混乱しています。私はちょうどカウンタの問題を解決したと思うが、私はまだアプリがアクティブな場合でもバナーを取得する方法を知りたいです...おそらく3番目の部分のフレームワークを使用して? – user1576208

答えて

1

通知バナーは唯一のアプリが

アクティブでないときに、あなたがでdidReceiveRemoteNotificationメソッドから警告を示している場合は、このTWMessageBarManager

を使用してみて、自分

+0

これは私が思っていたことですが、どのように考えていますか?私は第3パートのフレームワークを使用しますか?私はどこから出発するのか分からない...あなたは私に何かをリンクすることができますか? – user1576208

0

することにより、この通知を処理する必要があります示してこのライブラリーのメッセージを呼び出して通知バナーを表示すると同時に

サンプルコードは次のようになります。

TWMessageBarManager.sharedInstance().showMessageWithTitle("Title", description: "Description", type: TWMessageBarMessageType.Info) 

あなたがshowNotificationDetailsのデータを表示したい場合は、ので、あなたの質問は何である

関連する問題