[英]APNS in ios application
您能否告訴我在函數中接收到遠程通知時使用fetchCompletionHandler的最佳實踐:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
我看到人們通常在上述函數的結尾處編寫以下代碼:
completionHandler(UIBackgroundFetchResultNewData);
如果我寫:
completionHandler(UIBackgroundFetchResultNoData);
或者即使我不輸入上面的代碼,也會發生什么?
注意:我正在使用xcode7.1,objective-c,ios9.1
- UIBackgroundFetchResult.NewData-在獲取新內容並更新應用程序時調用。
- UIBackgroundFetchResult.NoData-在獲取新內容但沒有可用內容時調用。
- UIBackgroundFetchResult.Failed-對於錯誤處理很有用,當無法通過獲取時調用此方法。
您必須調用此命令,以使iOS知道后台獲取的結果是什么。 它使用此信息來計划將來的后台提取。
如果您忽略此操作,則操作系統可能會延遲以后的回溯獲取。
一個很好用的例子在這里 。
更新 :不調用此處理程序的后果可能包括完全終止您的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.