問題タブ [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.

0 投票する
5 に答える
16441 参照

ios - バックグラウンド構成を使用している場合、タイムアウト後に NSURLSessionTask がコールバックしない

バックグラウンド セッションを使用NSURLSessionDownloadTaskして、すべての REST 要求を達成しています。このようにして、アプリケーションがバックグラウンドまたはフォアグラウンドにあることを考える必要なく、同じコードを使用できます。

私のバックエンドはしばらく機能していませんでした。その機会を利用してNSURLSession、タイムアウトで がどのように動作するかをテストしました。

まったく驚いたことに、私のNSURLSessionTaskDelegateコールバックはまったく呼び出されません。NSURLRequestまたは でどのようなタイムアウトを設定しNSURLSessionConfigurationても、リクエストがタイムアウトで終了したことを通知する iOS からのコールバックを受け取ることはありません。

つまりNSURLSessionDownloadTask、バックグラウンド セッションを開始したときです。アプリケーションがバックグラウンドでもフォアグラウンドでも同じ動作が発生します。

サンプルコード:

ただし、デフォルトのセッションを使用すると、30 秒 (リクエスト レベルで設定したタイムアウト) 後にエラー コールバックが返されます。

サンプルコード:

バックグラウンド セッションを使用する場合、タイムアウトの動作が異なることを示唆するドキュメントを見つけることができないようです。

誰もその問題にぶつかりましたか? それはバグですか、それとも機能ですか?

バグ レポートの作成を検討していますが、通常、バグ レポーター (6 か月) よりも SO (数分) の方がずっと早くフィードバックを得ることができます。

よろしく、

0 投票する
1 に答える
1577 参照

ios - NSURLSession バックグラウンド タスク: 重複を避ける

私は NSURLSession を初めて使用し、特にバックグラウンドでのダウンロード タスクを使用しています。バックグラウンド タスクのリストを返すために NSURLSession をクエリする方法はありますか? バックグラウンド ダウンロード タスクのリクエストが重複する可能性があるようです。前の URL のダウンロード リクエストがまだ進行中のときに同じ URL のダウンロード リクエストを行っても、エラーは発生しません。

この状況を処理する最善の方法は何ですか? 現在ダウンロードしている URL のリストを維持できますが、アプリを再起動すると、この参照が失われます。この情報を再び永続ストレージに保存できます。しかし、これについて NSURLSession をクエリするオプションがないのは不便に思えます。

0 投票する
2 に答える
1873 参照

xcode - NSURLSessionDownloadTask のエラー

アプリがバックグラウンドにあるときでも、バックオフィスでユーザーの位置を更新しようとしているので、次の php スクリプトを呼び出して位置の更新をトリガーします。

しかし、エラーが発生します: バックグラウンド ダウンロードの URL スキームが無効です: (null)。有効なスキームは http または http で、フォアグラウンドまたはバックグラウンドで URL は送信されません。Web で検索したところ、この問題に対処するヒットは見つかりませんでした。また、問題を Apple サポートに提出しました。

0 投票する
2 に答える
1127 参照

ios - 複数のファイルのダウンロードに問題がある

現在、ファイルダウンロードアプリケーションを実装しています。アプリケーション サーバーには約 2500 個のリソース ファイルがあり、サーバーからドキュメント ディレクトリにこれらのファイルをダウンロードする必要があります。

私のコード:

問題 :

最初のファイルをダウンロードしてそこで停止する場合があり、次回以降は何もダウンロードされません。今まで問題を見つけることができませんでした。この問題のためにほぼ 1 日を無駄にしました。問題を見つけるのを手伝ってください。前もって感謝します。

0 投票する
1 に答える
783 参照

ios - アプリがアイドル状態のときにNSURLSession iOSを使用して画像をダウンロードする

アプリがアイドル状態のときに、大きな画像の一部をアプリにダウンロードする必要があります。また、ダウンロードが完了せず、数バイトしか取得されていないときに、アプリがバックグラウンドから削除された場合はどうなりますか?停止した場所からダウンロードを再開できますか?iOS6 でこれを使用できますか?これらは私が使用しているデリゲートメソッド。

0 投票する
3 に答える
1712 参照

ios - アプリを閉じたときにバックグラウンド転送のダウンロード タスクが失敗しました

ダウンロード タスクを実行するバックグラウンド nsurlsession を作成しました。アプリがバックグラウンドにあるときはうまくいきました。しかし、アプリを閉じる(「ホーム」ボタンをダブルクリックして上にスワイプ)と、ダウンロードタスクがキャンセルされて失敗したようで、アプリを再起動すると最初からダウンロードし直しました。Apple のドキュメントによると、バックグラウンド転送はアプリが実行されていなくても機能します。私は何か間違ったことをしていますか?

0 投票する
1 に答える
179 参照

ios - NSURLSessionDownloadTask の実装されていないプロトコル メソッドの警告を黙らせる

使用する目的のないデリゲート メソッドに対するコンパイラの警告を抑制する方法を見つけようとしています。空のメソッド本体を使用できることはわかっていますが、これを行わない方法を見つけたいので、ソースのコードを減らします。

ここでこの回答を見ました:動的転送:不完全な実装の警告を抑制

しかし、それは問題を複雑にしすぎているようです。ViewController.h のヘッダー ファイルに 1 つのライナーを含めるだけで、この警告が表示されない方法はありますか?

提供されたヘルプに感謝します。

記録のために、このメソッドの警告を黙らせたいと思っています: