0

请原谅我的愚蠢问题,但我不明白如何在 ios7 中调用后台提取。这是代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [application setMinimumBackgroundFetchInterval:20];
    return YES;
}

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    NSLog(@"Fetch called");
    completionHandler(UIBackgroundFetchResultNoData);
    [UIApplication sharedApplication].applicationIconBadgeNumber += 1;
}

问题是我将时间间隔设置为 20 秒,但它只执行一次。这种行为对我来说很奇怪。也许我错了,后台获取的模拟默认只执行一次,但在真实设备上它会定期执行。我怎么能确定它会每 20 秒调用一次?请帮忙!

4

1 回答 1

0

您设置的是最小获取间隔,即在再次触发后台获取之前必须经过的时间量。在那之后,iOS 使用启发式方法来确定何时实际触发后台获取,该启发式方法估计用户何时可能打开应用程序。

于 2013-10-21T10:11:18.500 回答