1

当用户第一次打开我的应用程序时,我需要先从服务器下载并安装一些内容,然后他们才能开始使用该应用程序。问题是这在 wifi 上大约需要 5 分钟,在此期间应用程序进入后台并暂停下载。

有没有办法:

  • 在我执行下载时阻止 iOS 应用程序进入后台
  • 或者继续在后台执行任务(即无论应用程序是在前台还是后台都执行任务)

谢谢

4

3 回答 3

3

没关系,如果用户按下主页按钮,它将进入后台。尽管您可以做两件事来缓解问题:

  • 使用beginBackgroundTaskWithExpirationHandler, 让您有更多时间下载。你可以在这里阅读。
  • 不要让设备闲置,使用[UIApplication sharedApplication].idleTimerDisabled = YES;. 您可以在此处阅读更多相关信息。

无论哪种方式,你能做的最好的事情就是告诉用户,这是一个重要的下载,他不应该退出应用程序。

于 2012-11-15T10:15:33.670 回答
0

您不能在您的应用程序包中包含部分或全部内容,而只是在首次运行时下载更改?

我无法想象这是一个很好的首次用户体验,它可能不会像这样通过 App Store 审查。

唯一允许在后台下载的第三方应用程序是加载问题内容的报亭应用程序,Apple 对它们允许作为报刊亭应用程序的内容非常严格。

于 2012-11-15T10:56:34.340 回答
0

在这种情况下,你不能做你想做的事。一种方法,我认为最好的也是唯一的方法是在您的应用程序变为活动状态(返回到前台状态)时恢复您的下载。此外,不要忘记注册连接通知(可通过此 Apple 示例应用程序http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html使用可达性类) . 祝你好运!

于 2012-11-15T11:07:44.720 回答