2015-11-10 57 views
0
if (deviceToken == nil) { 
      print("There is no deviceToken saved yet.") 
      let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) 
      UIApplication.sharedApplication().registerUserNotificationSettings(settings) 
      UIApplication.sharedApplication().registerForRemoteNotifications() 
     } 

這是我的代碼許可。ios 9推送通知不顯示,而應用程序打開時

+0

究竟是什麼問題? – tilo

+0

雖然應用程序處於前臺通知狀態,但應用程序打開時不顯示通知。 –

+0

不檢查已保存的'deviceToken',用戶可以更改設置,而不是檢查權限 – sage444

回答

0

有關說明,同時運行必須使用應用程序的警報視圖:

func application(_ application: UIApplication, 
didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) 

通知有效載荷在userInfo變量。你必須決定如何處理它,如何表達等

文件說:

當操作系統提供一個本地通知或遠程 通知和目標應用沒有運行在前景中,它可以通過警報,圖標徽章 號碼或聲音向用戶呈現通知。如果出現通知提醒並且用戶點擊 或點擊操作按鈕(或移動操作滑塊),則應用程序 將啓動並調用傳遞本地通知對象 或遠程通知有效內容的方法。 如果應用程序在交付通知時在前臺運行 ,應用程序代理 會收到本地或遠程通知

這意味着,當應用程序運行並收到通知時,系統不會顯示警報。

+0

這是否會在應用程序的頂部顯示通知? –

+0

不,這隻發生在應用程序未運行時。當您的應用程序正在運行並且有通知時,您應該如何顯示它。因此,您需要實現一個顯示其內容的視圖。 – RaffAl

+0

我想顯示在每個其他應用程序,我們沒有當前視圖的頂部。 –

3

如果您的應用程序已經打開,則不會顯示通知,但應用程序負責更新用戶界面或下載新內容。

執行application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 來處理通知,如documentation中所述。在這裏,您可以創建一個提醒,顯示與收到標準通知時看到的橫幅相似的標題和消息。

相關問題