继续在后台IOS中上传过程

时间:2013-04-03 13:02:15

标签: ios dropbox

我想知道是否可以继续在后台上传文件。例如,当用户将iPad置于睡眠状态时,上传继续......

我在Dropbox论坛中也提到了这个问题,因为我使用核心API上传到Dropbox。这就是答案:

“使用核心API,上传完全由您的应用程序控制。您可以请求操作系统在后台保持您的应用程序活动,在暂停您的应用程序之前最多允许10分钟。您可以在这里查看更多信息: https://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html 如果您使用新的Sync API,这将由API自动完成。“

我在这里发帖是因为我不明白他们的意思是'要求操作系统让你的应用程序在后台运行'。这是否意味着我必须向ios请求特定代码,它与dropbox无关,或者它是一个特定的Dropbox功能?

4 个答案:

答案 0 :(得分:24)

您需要让操作系统保持应用程序运行,它与Dropbox无关...当您开始上传时,请执行以下操作:

UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
    [[UIApplication sharedApplication] endBackgroundTask:bgTask];
}];

...并将bgTask存储在某个地方。然后,当您的上传完成或失败时,请执行以下操作:

[[UIApplication sharedApplication] endBackgroundTask:bgTask];

这将告诉操作系统保持您的应用程序正常运行,因为正在运行后台任务...

答案 1 :(得分:2)

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

通过请求,这意味着当您的App Delegate方法applicationDidEnterBackground被调用时,您有大约5秒的时间来完成。当您进行长时间上传时,您可以通过beginBackgroundTaskWithExpirationHandler

请求额外的时间

答案 2 :(得分:0)

New Dropbox SDK提供后台上传/下载文件的功能。请尝试使用新的SDK。有一个快乐的编码。

答案 3 :(得分:-3)

我想这对我有用。

  1. 禁用自动锁定
  2. 已停用screentimeout
  3. 插上电源
  4. 在iphone上为dropbox和后台运行选项启用位置服务
  5. 让Dropbox app保持打开状态
  6. 超过2000张照片&视频上传成功