1

我真的很困惑這個問題,我的問題很簡單:什麼時候會調用application: didReceiveRemoteNotification: fetchCompletionHandler:iOS 7遠程通知後臺模式

  1. 如果應用程序正在運行並在前臺?我測試和iOS 7的迴應是肯定的,並在iOS 6沒有如功能評論中所述。

  2. 如果應用程序在後臺運行?響應:與1相同。

  3. 如果應用程序在後臺但由系統暫停?

  4. 最重要的一點:如果應用程序被殺害(不在「多任務視圖」中)?

如何激活/亨德爾通知:

  1. 添加遠程基序中的xcode功能部(info.plist中)。
  2. 要求註冊:

[UIApplication的sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeNewsstandContentAvailability]

3。實施委託方法。 (內部completionHandler(UIBackgroundFetchResultNewData);添加)

當我發送通知(用內容可用的密鑰== 1):

  1. 如果應用程序是在前景/背景和運行被觸發的功能和內部的代碼(我下載一個圖像並將其保存在文檔文件夾中)。
  2. 如果應用程序被殺死,圖像不會被下載。

第二個問題:你有沒有簡單的爲什麼要調試遠程通知後臺模式?

[edit]測試後,如果應用程序已暫停(我們添加一個循環記錄日期)來接收該通知,並試圖觸發代碼,但應用程序之後1個Seconde系列停止,我們有錯過參數包住時間? (因爲我讀了最多30次)。

+0

由於您在該帖子中嵌入了許多其他問題,因此有點難以閱讀您的問題。有沒有一種方法可以簡化這個 – meda

+0

你可以閱讀這個http://samwize.com/2015/08/07/how-to-handle-remote-notification-with-background-mode-enabled/ –

回答

1

很抱歉回答我自己的問題, 很簡單,只有當應用程序在後臺(主動/暫停)時才能處理遠程通知。

[編輯]:如果你想有一個推送通知,喚醒應用程序,即使它被殺死看看PushKit,但這隻有當你的應用程序中有VOiP功能時纔有可能。