在我们的应用程序中,我们使用后台获取来获取用户数据(位置,连接等),并在后台1小时后应用程序死亡,我们没有任何更新。为什么会发生这种情况以及我们如何在1小时后获得结果?
这是我们的代码:
-- AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
...
}
- (void)application: (UIApplication *)application performFetchWithCompletionHandler:(void(^) (UIBackgroundFetchResult))completionHandler {
NSDictionary *fetchData = ...
NSString * baseUrl = @"http://......";
for(NSString *fetchKey in fetchData) {
baseUrl = [baseUrl stringByAppendingString:[NSString stringWithFormat:@"?%@=%@", fetchKey, [fetchData objectForKey:fetchKey]]];
}
NSURLSession *session = [self backgroundSession];
NSURL *url = [[NSURL alloc] initWithString:baseUrl];
[[session downloadTaskWithURL:url] resume];
...
}
- (NSURLSession *)backgroundSession
{
static NSURLSession *session = nil;
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.username.app"];
sessionConfiguration.sessionSendsLaunchEvents = YES;
sessionConfiguration.discretionary = YES;
return session;
}
谢谢!