2015-05-18 60 views
1

我註冊了遠程通知,並且其工作狀態絕對正常。現在我正在執行無聲通知。爲此,我啓用了後臺遠程通知,App從網絡下載內容。只有當應用程序在後臺時纔會調用靜音通知回調方法

和發送,

{"aps": {"content-available": 1}} 

它調用下面回調方法,但只有當應用程序在後臺:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler 

而且在這個方法中,我從網上下載了一些數據後,發射本地通知服務器。但是,當應用程序不在後臺時,此方法根本不會調用。

在上Push Notification蘋果文檔,他們說:

「當一個沉默的通知到達,iOS的醒來背景您的應用程序,讓您可以從您的服務器獲取新的數據或做後臺信息處理「。

理想情況下,無聲的遠程通知應該在後臺喚醒我的應用程序,並且本地通知應該可以工作。

有什麼想法?

回答

2

大量的蘋果文檔閱讀後,我發現如果用戶強制退出應用程序,方法(didReceiveRemoteNotification:fetchCompletionHandler)將不會調用。

正如所寫,(link) 但是,如果用戶強制退出,系統不會自動啓動您的應用程序。在這種情況下,用戶必須重新啓動您的應用程序或在系統嘗試再次自動啓動您的應用程序之前重新啓動設備。

相關問題