【问题标题】:resuming upload of file after app crash using nsurlsession使用 nsurlsession 在应用程序崩溃后恢复文件上传
【发布时间】:2016-06-02 01:18:49
【问题描述】:

我想使用 NSURLSession 将文件上传到服务器。

案例是: 1.它应该恢复上传文件到由于应用程序崩溃而停止的服务器。 2. 它也应该处理后台上传。

【问题讨论】:

    标签: ios nsurlsessionuploadtask


    【解决方案1】:

    尝试AFNetworkingLibrary异步上传图片。你可以在this thread找到一个简单的例子。

    【讨论】:

      【解决方案2】:

      你应该使用背景NSURLSession。如果您的应用程序在上传过程中崩溃或用户离开了应用程序,则在背景为NSURLSession 的情况下,上传将在后台无缝继续。上传完成后,您的应用程序将通过delegate 收到通知(如果您的应用程序在下载完成时不存在,它将以后台模式启动,此时您可以执行任何操作您需要的清理)。

      因此使用backgroundSessionConfigurationWithIdentifier 创建NSURLSessionConfiguration,然后使用该配置实例化NSURLSession

      有一些注意事项:

      • 您不能使用完成处理程序模式。您必须使用基于委托的实现。

      • 您必须在应用程序委托中实现handleEventsForBackgroundURLSession,捕获它传递给您的completionHandler,并再次实例化后台会话。同样,在您的NSURLSession 委托方法中,您必须实现URLSessionDidFinishEventsForBackgroundURLSession,它将调用保存的完成处理程序。

      有关详细信息,请参阅 URL 会话编程指南 中的 Background Task Considerations,参阅 NSURLSession class reference 中的同名部分(但文本不同),或参阅 WWDC 2013 What's New in Foundation Networking ,Apple 首次向我们介绍了后台会话。

      【讨论】:

        猜你喜欢
        • 2012-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 1970-01-01
        相关资源
        最近更新 更多