1

我的应用程序可以下载文件,但存在一个问题,如果下载时间超过 4 分钟,则会超时。我设法将其归结为 iPad 自动锁定 1 分钟,后台任务 3 分钟。

我正在使用以下方法:

[restClient loadFile:filePath intoPath:localPath];

我不确定这是 Dropbox SDK 问题还是 iOS 问题。我的印象是你可以在后台下载很长时间,不管后台任务是什么,但由于某种原因,Dropbox SDK 停止了。

我的本能会告诉我问是否有任何方法可以扩展后台任务?我在网上读过很多东西,说如果它满足任何这些要求,你可以用 plist 做一些事情: https ://stackoverflow.com/a/9738707/4056064但我的应用程序不属于任何其中类别。

我还读到您可以在 BG 任务中使用计时器,但遗憾的是后来读到它不再起作用了。

原因是我试图将相当大的文件下载到应用程序(有时 300mb),人们倾向于离开他们的 iPad。

编辑-当我提到后台任务时,我的意思是 beginBackgroundTaskWithExpirationHandler

谢谢

4

2 回答 2

0

你能在这里参考我的答案吗:当 iPhone 被锁定时,AVAudioPlayer 不在后台播放。实际上,我的问题是在从沙箱下载或收听媒体时无法写入/读取。这就是我使用数据保护 API 的原因。我认为这是基于安全问题。应用这些属性后,我解决了这个问题。我也可以下载大尺寸的视频。对我来说没有问题。

于 2015-02-17T09:39:54.150 回答
-1

如您所见,后台任务受到严格限制。解决此问题的另一种方法是在下载开始时禁用 ipad 的自动锁定:

  [UIApplication sharedApplication].idleTimerDisabled = YES;

下载完成后不要忘记重新启用计时器,以避免过度用电。

于 2015-02-12T13:17:19.783 回答