在iOS 7中的应用程序在后台运行时将数据发送到服务器

aMo*_*her 5 data-transfer background-process ios7 nsurlsession

我希望从iOS 7后台运行的应用程序向我的服务器发送一些数据(位置坐标).我正在使用NSURLSessions来实现此目的.
我对于我应该用于此目的的会话类型感到困惑:
默认会话:我们可以在后台创建和使用默认会话.如果是,它可以优雅地处理网络故障.
后台会话:我可以使用后台会话将数据作为NSData对象上传.

PS:在这两种情况下,一些代码将非常感谢处理网络故障.

Dhi*_*lip 6

我建议你使用后台会话.

您可以使用默认会话或常规NSURLConnection以及最长10分钟的后台到期标识符来完成任务

后台任务标识符文档

https://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler:

在后台任务中使用NSURLConnection(您还可以获得iOS 6支持)

输入背景时的NSURLConnection最佳实践

根据新标准,您可以使用后台会话来处理下载/服务器上载.

Apple关于处理后台下载的文档

https://developer.apple.com/library/ios/documentation/cocoa/Conceptual/URLLoadingSystem/Articles/UsingNSURLSession.html#//apple_ref/doc/uid/TP40013509-SW1

来自Apple的简单项目说明了这项技术

https://developer.apple.com/library/ios/samplecode/SimpleBackgroundTransfer/Listings/SimpleBackgroundTransfer_APLViewController_m.html#//apple_ref/doc/uid/DTS40013416-SimpleBackgroundTransfer_APLViewController_m-DontLinkElementID_7

希望这对你有所帮助!