2015-05-31 28 views
0

我最近有推送通知工作,但現在我堅持決定如何推送某些視圖,具體取決於向用戶發送的推送通知。如何在應用程序處於前景或背景時打印出推送通知?

didReceiveRemoteNotification函數中,儘管在應用程序處於後臺時出現,但在我收到推送通知時println語句不會打印。

我想打印出手機接收到的每個遠程推送通知,然後我可以確定如何設置邏輯來處理它?

func application(application: UIApplication, didReceiveRemoteNotification userInfo:[NSObject : AnyObject]) { 
    println("Recived: \(userInfo)") 


} 
+0

你至少能在這裏添加你的相關代碼嗎?也許從你的AppDelegate? – Asaf

+0

@Asaf我添加了我目前擁有的代碼! – Jay

+0

你需要添加額外的邏輯。將一個鍵/值對添加到遠程通知負載中,在委託方法中獲取該值。然後你可以採取相應的行動,即呈現一個特定的視圖控制器或視圖等... – CW0007007

回答

0

嘗試使用該委託方法:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) 
{ 
    println("Recived: \(userInfo)") 
} 

於蘋果文檔中提到:

使用此方法來處理傳入的遠程通知你的應用程序。與application:didReceiveRemoteNotification:方法不同,它只在應用程序在前臺運行時調用,當您的應用程序在前臺或後臺運行時,系統調用此方法。另外,如果啓用了遠程通知後臺模式,系統將啓動您的應用程序(或將其從掛起狀態喚醒),並在遠程通知到達時將其置於後臺狀態。但是,如果用戶強制退出,系統不會自動啓動您的應用程序。在這種情況下,用戶必須重新啓動您的應用程序或在系統嘗試再次自動啓動您的應用程序之前重新啓動設備。

For more info check this link

相關問題