没有互联网连接时调用’performFetchWithCompletionHandler’吗?

如果设备未连接到互联网, UIApplicationDelegate是否会调用performFetchWithCompletionHandler ? 在这种情况下,文档不清楚。

经过一些测试后,我可以声称如果设备未连接到互联网,则不会调用performFetchWithCompletionHandler委托方法。 在iOS8和iOS9上测试过。

-application:performFetchWithCompletionHandler:下载完成后不会调用。 它被系统调用,为您的应用程序提供下载数据的机会。 您可以根据需要进行正常的error handling。

 -(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { NSURL *URL = // Your URL [[[NSURLSession sharedSession] dataTaskWithURL:URL completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error != nil) { // Handle Error completionHandler(UIBackgroundFetchResultFailed); return; } // Process the data completionHandler(UIBackgroundFetchResultNewData); }] resume]; }