Dans Xcode 7.0.1, la commande d'extraction "simuler l'arrière-plan" provoque le déclenchement de performFetchWithCompletionHandler
deux fois.
S'agit-il d'une erreur de débogage Xcode ou cela peut-il se produire sur un périphérique exécutant une version validée de l'application?
Mise à jour Nous avons maintenant Xcode 7.1.1 et toujours performFetchWithCompletionHandler
est appelé deux fois. Comme je ne suis pas sûr que cela se produise également "dans la nature", je garde un état si mon action d'extraction est déjà en cours d'exécution.
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler {
if (self.performingFetch) {
return completionHandler(UIBackgroundFetchResultNoData);
}
self.performingFetch = YES;
...
self.performingFetch = NO;
}