您能否告诉我在函数中接收到远程通知时使用fetchCompletionHandler的最佳实践:
-(void)应用程序:(UIApplication *)应用程序didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult result))completionHandler
我看到人们通常在上述函数的结尾处编写以下代码:
completeHandler(UIBackgroundFetchResultNewData);
如果我写:
completeHandler(UIBackgroundFetchResultNoData);
或者即使我不输入上面的代码,也会发生什么?
注意:我正在使用xcode7.1,objective-c,ios9.1
最佳答案
您必须调用此命令,以使iOS知道后台获取的结果是什么。它使用此信息来计划将来的后台提取。
如果您忽略了此操作,则操作系统可能会延迟以后的回溯获取。
很好的例子是here。
更新:不调用此处理程序的后果可能包括完全终止您的应用程序。
关于ios - ios中的APNS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33371608/