2017-03-04 96 views
0

當我收到遠程通知時,我更新了保存到UserDefaults的計數器,並且還顯示本地通知。當應用程序處於前景,背景和暫停狀態Ref時,一切都按預期工作。當應用程序處於未運行狀態時,我的計數器不會更新,也不會顯示我的本地通知。iOS 10當應用程序未運行時的遠程通知

這是我的理解,我應該能夠接收和處理遠程通知,而應用程序是完全關閉。在線的一些文章聲稱,當遠程通知在Not Run狀態下到達時,應用程序:didFinishLaunchingWithOptions:應該被調用,然後應用程序:didReceiveRemoteNotification:fetchCompletionHandler:但在我的情況下,它不是。

在未運行狀態下是否可以接收遠程通知?

+0

引用此問題:http://stackoverflow.com/questions/41345889/its-possible-to-change-push-notification-message-before-display-on-device-from –

回答

1

如果您的應用程序是一個VoIP應用程序,並且您正在使用VoIP推送PushKit,那麼推送通知將從終止狀態啓動您的應用程序以傳遞通知。如果您使用的是標準推送通知,則應用程序在終止時不會收到通知。如果您的應用已終止以便提示他們啓動您的應用,您可以在「提醒」文本中添加一條「無聲」通知,該通知將顯示給用戶。

+0

所以通知將只顯示在通知區域,但didReceiveRemoteNotification:方法永遠不會被調用,是否正確? –

+0

如果您的應用已終止,那是正確的 – Paulw11

0

首先,它聽起來像你有一個安靜的通知設置。一旦您將alert數據添加到您的推送通知(如標題,正文等信息,您可以在here上找到更多信息),它將開始顯示在鎖定屏幕上。

其次,如果您的應用程序處於未運行狀態,則無法通過推送通知啓動,無聲或其他方式啓動。 The documentation on this實際上是不正確的,因爲它聲明只有在用戶退出應用程序時纔會啓動應用程序。但是,這實際上也適用於處於非運行狀態下的任何情況,例如,如果您的應用程序從安裝/重新啓動以來從未啓動過,或者由於內存原因而退出(這種情況很常見 - iOS會清除應用程序,最近根據需要運行)。

0

你是否在應用程序是背景時檢查了這個標記? enter image description here

相關問題