2008-11-10 41 views
2

我正在编写带有图片上传功能的应用程序。现在我正在使用NSURL POST:125306在后台上传iPhone图片

当应用程序关闭,据我可以告诉所有的上传中止和线程死亡。有没有

1)当应用程序不再处于前台时,使这些上载线程持续存在的方法?

2)一个iPhone操作系统服务,它将接受排队作业并以OS管理的模式运行它的请求?

回答

9

编辑:这是从2009年的旧答案。当前的iOS(2016)具有后台URL任务。请参阅NSURLSessionUploadTask。

原来的答复如下:

你不允许在iPhone上的后台运行(按照苹果的指导方针)。如果你这样做,你的应用程序将被拒绝从AppStore。

+0

为了听起来更正确,它不是我们不被允许(如果我们可以,但我们可以),但即使我们想要,我们也不能。这是不可能的开发一个应用程序的iPhone将在后台运行。 – 2009-10-31 05:04:04

4

由于已经有很好的文档记录,所以没有后台进程可以使用SDK。

1

如上所述,您不能拥有后台进程 - 一个很好的折衷办法是将照片大小调整为可在合理时间内传输的大小(用户可配置为最佳),并显示活动指示符某种类型的用户会知道上传正在进行中。

一个更好的解决方案是调整大小,并提供进度指示器给出当前上传的百分比 - 但涉及一些自定义的低级HTTP代码。

0

应用暂停后,您只有约10分钟的时间来完成这项工作。 当应用程序暂停时,您应该创建后台进程线程。 而且你没有任何操作系统会保持应用程序的活力。这取决于流程的复杂性。