是否允许在后台获取中进行上传(PerformFetch)

时间:2014-08-06 20:37:30

标签: ios xamarin fetch background-process

我在iOS上使用C#(Xamarin),但我怀疑这个问题也适用于Objective C中的编程。 iOS 7引入了后台“获取”功能,可让应用程序在后台下载数据。

我读过的所有文档(在Xamarin和Apple的网站上)都声明此功能用于下载更新,并且您有大约30秒的时间来完成下载;然而,没有任何限制说明。我想知道我的应用程序是否可以在后台将内容上传到我们的服务器。

2 个答案:

答案 0 :(得分:1)

是!

对不起,简短的回答。我在AppStore中提供的一个应用程序中实现了fetch,我上传或下载了一个非常小的txt文件。你是对的大约30秒的窗口。到目前为止它一直没有问题。

您甚至可以在XCode模拟器中模拟获取上传和下载,看看您是否遇到任何时间限制问题。

再次提取的目的是让您的上传/下载数据保持清晰,并且您已经知道无法控制获取频繁执行这些操作的频率。它可能每10分钟或每天一次,具体取决于用户的互联网使用模式。

答案 1 :(得分:0)

是的,只要触发了背景提取方法,你就可以上传数据/文件,而你在30秒左右的窗口就像下雨一样。

通过将背景提取与 UIBackgroundTaskIdentifier 相结合,我设法将30秒窗口增加到大约180秒(3分钟)。

从iOS 7开始180秒(3分钟)是iOS应用程序在应用程序进入暂停模式之前执行后台的最长允许时间,之前约为600秒(10分钟)。