0

NSURLSession を使用してサーバーにファイルをアップロードしたいと考えています。

ケース: 1. アプリのクラッシュによりサーバーへのファイルのアップロードが停止した場所から、サーバーへのファイルのアップロードを再開する必要があります。2. バックグラウンド アップロードも処理する必要があります。

4

2 に答える 2

0

AFNetworking Library を試して、画像を非同期でアップロードしてください。このスレッドで簡単な例を見つけることができます。

于 2015-12-09T10:06:30.330 に答える
0

background を使用する必要がありますNSURLSession。アップロードの進行中にアプリがクラッシュしたり、ユーザーがアプリを離れたりした場合、バックグラウンドNSURLSessionを使用すると、アップロードはバックグラウンドでシームレスに続行されます。アップロードが完了すると、アプリはこれを介して通知されdelegateます (ダウンロードが終了した時点でアプリが動作していなかった場合は、バックグラウンド モードで開始され、その時点で必要なクリーンアップを行うことができます)。 )。

で作成NSURLSessionConfigurationbackgroundSessionConfigurationWithIdentifier、その構成で をインスタンス化NSURLSessionします。

いくつかの注意事項があります。

  • 完了ハンドラ パターンは使用できません。デリゲートベースの実装を使用する必要があります。

  • handleEventsForBackgroundURLSessionアプリのデリゲートに実装し、completionHandler渡されたものをキャプチャして、バックグラウンド セッションを再度インスタンス化する必要があります。同様に、NSURLSessionデリゲート メソッドではURLSessionDidFinishEventsForBackgroundURLSession、保存された完了ハンドラを呼び出す を実装する必要があります。

詳細については、URL セッション プログラミング ガイドのバックグラウンド タスクに関する考慮事項、 NSURLSession クラス リファレンスの同じ名前 (ただしテキストは異なる) のセクション、またはApple が最初にバックグラウンドについて紹介した WWDC 2013 What's New in Foundation Networkingを参照してください。セッション。

于 2016-06-01T17:18:49.200 に答える