5

我开发了一个使用后台获取的应用程序。我将更新之间的最小间隔设置为最小值:

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

我认为这个值是由系统保存的,所以当/如果应用程序重新启动时,我不必再次设置它。但是,我刚刚注意到我的一台设备上的最后一次后台获取是在两周前。我知道,更新之间的间隔可能会有所不同,但我不认为两周是正常的。特别是考虑到它工作了几个月的事实,每 20-30 分钟调用一次后台更新。

不幸的是,我找不到一种方法来MinimumBackgroundFetchInterval检查我的理论(有谁知道顺便说一下如何得到它?)。我只检查了application.backgroundRefreshStatus,它等于UIBackgroundRefreshStatusAvailable,但我认为(我不确定)这仅意味着用户允许应用程序使用后台更新。

4

1 回答 1

8

好吧,事实证明,不,我们不需要setMinimumBackgroundFetchInterval每次应用程序重新启动时都调用。

我做了一个实验:我将它设置为UIApplicationBackgroundFetchIntervalMinimum(打开后台获取),然后手动(通过任务管理器)关闭应用程序,然后重新启动它,但没有调用setMinimumBackgroundFetchInterval. 该应用程序继续像以前一样执行后台提取。

我希望这些信息对某人有所帮助,因为它没有在文档中明确说明(至少,我没有看到它)。至于我,我必须找到另一个可能导致我的应用程序两周无法运行的原因。

于 2015-04-15T18:18:58.647 回答