在 Xcode 7.0.1 中,“模拟背景”获取命令会performFetchWithCompletionHandler
触发两次。
这是 Xcode 调试错误,还是在运行应用程序发布版本的设备上发生。
更新
现在我们有 Xcode 7.1.1 并且仍然performFetchWithCompletionHandler
被调用了两次。由于我不确定这是否也“在野外”发生,所以如果我的 fetch 操作已经在运行,我会保持状态。
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler {
if (self.performingFetch) {
return completionHandler(UIBackgroundFetchResultNoData);
}
self.performingFetch = YES;
...
self.performingFetch = NO;
}