問題タブ [nsurlsessiondownloadtask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - NSURLSessionDownloadDelegate プロトコルのエラー メッセージ
私は実際にファイルのダウンロード/アップロードを処理し、進行状況を追跡しています。うまくいっています。ただし、何か問題が発生し、このデリゲートにエラーを処理するメソッドが表示されない場合はどうなるのだろうかと思っています。からのメソッドは次のNSURLSessionDownloadDelegate
とおりです。
エラーメッセージを元に戻す方法を考えているだけです、ありがとう。
ios - NSURLSessionDownloadTask は、アプリがユーザーによって閉じられ、タスクがまだアクティブなときにファイルを削除しない
バックグラウンドでファイルをダウンロードするように構成されています.ダウンロードタスクがユーザーによってキャンセルされた場合、すべてのデータが削除され、ファイルが使用していたストレージスペースが解放されますが、アプリがマルチタスクドックから閉じられた場合NSURLSession
、ダウンロードNSURLSessionDownloadTask
タスクが終了してエラーが発生しますが、データは削除されておらず、ファイルの一時データはまだストレージ領域を占有しており、解放されていません。スペースを解放するにはどうすればよいですか?
これは私のNSURLSession
構成とエラー処理です:
ios - ダウンロードする前にiOSがファイルサイズを取得する
自分に合った解決策が見つかりませんでした。しかし、ダウンロードしているビデオのファイル サイズを取得して、ユーザーの電話に十分なスペースがあることを確認する必要があります。
私の考えでは、ビデオのサイズを確認し、ユーザーにスペースがあればダウンロードします。推奨事項はありますか?
ios - NSURLSessionDownloadTask は、バックグラウンドですべてのタスクを自動的に再開します
ファイルを順番にダウンロードする必要があります。現在、アプリがフォアグラウンドにある間にそれを行うことができます。
以下は、私が使用したロジックです。
ダウンロードするすべてのタスクを作成します。
一度に 1 つずつ再開し、現在の終了時に から次の 1 つを再開し
URLSession:task:didCompleteWithError:
ます。
このロジックは、アプリがフォアグラウンドにある間は機能しますが、アプリがバックグラウンドで実行を開始すると (クラッシュによって)、ダウンロードが完了する前にアプリを再度実行すると、すべてのタスクの状態が再開に変更され、すべてが同時にダウンロードされます。
これは予想される動作ですか、それともバックグラウンド モードでもシリアルでこれを注文するのに欠けているものですか?
編集:
ダウンロードタスクを1つずつ作成して確認しました。最初のタスクが終了したら、次の内部setTaskDidCompleteBlock
を作成します。最初のタスクのみを完了し、その後、タスクが内部で作成されている間にセッションがクラッシュしましたsetTaskDidCompleteBlock
(これは、フォアグラウンドで正常に動作するため、バックグラウンド モードで実行している場合にのみ発生します)。
これが私のクラッシュログのスクリーンショットです:
と
どんな助けでも大歓迎です。