在后台上传iPhone图像

在后台上传iPhone图像,iphone,Iphone,我正在编写一个带有图像上传功能的应用程序。现在我正在使用NSURL POST,比如: 当应用程序关闭时,据我所知,所有上传都会中止,线程也会消失。是否有 1) 当应用程序不再位于前台时,如何使这些上传线程保持不变 2) 一种iPhone操作系统服务,它将接受对作业进行排队的请求,并以操作系统管理的模式运行作业?编辑:这是2009年的旧答案。当前iOS(2016)具有后台URL任务。请参阅NSURLSessionPloadTask 原答覆如下: 你不允许在iPhone上后台运行(根据苹果的指导方针

我正在编写一个带有图像上传功能的应用程序。现在我正在使用NSURL POST,比如:

当应用程序关闭时,据我所知,所有上传都会中止,线程也会消失。是否有

1) 当应用程序不再位于前台时,如何使这些上传线程保持不变


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

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

原答覆如下:


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

正如Fairy所记录的,不允许使用SDK进行后台处理。

如前所述,您不能进行后台处理-一个好的折衷办法是将照片的大小调整到可以在合理的时间内传输的大小(最好由用户配置),并显示某种活动指示器,以便用户知道上传正在进行


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

在应用程序挂起后,你只有约10分钟的时间来完成这项工作。 当应用程序挂起时,您应该创建一个后台进程线程。
而且你没有任何理由认为操作系统会让应用程序保持活力。这取决于过程的复杂性。

听起来更正确,这并不是说我们不被允许这样做(如中所述,但如果我们愿意,我们可以这样做)但即使我们愿意,我们也不能。只是不可能为iPhone开发一个在后台运行的应用程序。我不确定这是真的。电子邮件和Safari似乎在后台做事情(电子邮件肯定会继续下载我的消息)。可能有非公开的API来做这件事。但是,如果你调用它们,你将被拒绝。