問題タブ [nsurlsessionconfiguration]

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 投票する
0 に答える
1127 参照

ios7 - NSURLSessionDownloadTask は、場所の URL にファイルがない状態で終了します

NSURLSessionDownloadタスクとバックグラウンド構成を使用して、一連のダウンロードを開始しNSURLSessionます。ほとんどの場合、すべて正常に動作しますが、コールバック メソッドlocationで指定された場所に一時ファイルがない場合があります。delegateシミュレータとデバイスの両方で発生します。コードは次のとおりですが、SimpleBackgroundTransfer サンプルがあるように、すべてが非常に単純に見えます。

また、奇妙なことは、この奇妙なことが発生したときに他のNSURLSessionDelegateメソッドが呼び出されURLSession:downloadTask:downloadTask:locationず、場所の URL にファイルがないことです (downloadTask.originalRequest実際には有効なダウンロード URL があり、downloadTask の応答のステータス コードは 200 です)。
この奇妙なことが発生すると、システムがファイルをまったく作成できないのと同じように、スケジュールされたすべてのダウンロードで発生します。URLSession:downloadTask:downloadTask:locationすぐに呼び出されます。
デバイス/シミュレーターを再起動すると、常に役立つようです。アプリを再起動しても解決しません。
誰かがこのようなことを経験しましたか?

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

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

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

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

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

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

サンプルコード:

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

サンプルコード:

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

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

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

よろしく、

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

ios - バックグラウンドで NSURLSession を使用して 100 個のファイルのリストを 1 つずつダウンロードする

を使用して、iOS 7 以降をターゲットとするダウンロード マネージャー アプリを実装しましたNSURLSession。ダウンロード マネージャーには、優先順位に従ってダウンロードされるファイルのリストがキューに登録されています。アプリがバックグラウンドにあり、デリゲート呼び出しが正しく呼び出されている間、ダウンロードは正常に機能します。しかし、アプリがバックグラウンドになると、ダウンロードが完了しても、ダウンロードに時間がかかりすぎます。

NSURLSession delegate:- **URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)downloadURL

呼ばれること。デリゲートがまったく呼び出されない場合があり、フォアグラウンドに来ると、ダウンロード タスクのデリゲートが呼び出されます。この遅延の理由はありますか?

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

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

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

私のコード:

問題 :

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

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

ios - NSURLSessionDataTask の応答値を確認する

私は iOS 開発の完全な初心者で、最初のアプリケーションに取り組んでいます。ユーザーがユーザー名とパスワードでログインする必要がある Web サービスに接続しています。キーチェーンに保存する前に、正しいユーザー名とパスワードが入力されていることを確認したいので、資格情報を使用して簡単な get リクエストを作成します。取得した応答を確認して、エラー メッセージが表示されるかどうかを確認したい。これは私が書いたコードで、Web サービスへの GET 要求を実行します。

jsonObjectエラーコードを確認したいのですが、確認後に確認できます[dataTask resume]か? 戻りコードを確認するより良い方法はありますか? 私はjsonを返すと信じているjsonObjectので、ヘッダーの戻り値を確認したいと思いますが、完全にはわかりません。これは簡単な質問ですが、私は新しくて少し混乱しています。どんな助けでも大歓迎です!

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

ios - NSURLSessionConfiguration HTTPAdditionalHeaders が設定されていません

Authorization ヘッダーは に設定されNSURLSessionConfigurationていますが、 には添付されていませんNSURLSessionDataTask。これは のバグFoundation frameworkですか?

0 投票する
4 に答える
2174 参照

ios - iOS NSURLSessionUploadTask 応答データ

NSURLSessionUploadTask の実装に成功し、バックグラウンドとフォアグラウンドの両方で動作します。しかし、応答データを読み取るときに問題があります。

これらは、上記の 2 つの NSLog の出力です

1 データ: {"success":true,"data":[{"uuid":"8BE7DF37-9DA1-44D2-B48C-D012F699A9B1","id":266626},{"uuid":"3406D865-1A41-4FC6 -BA0B-0638F17757CC","id":266656}],"エラー":[],"entityName":"LeadProfile"} END DATA

最後のデータ: {"success":true,"data":[{"uuid":"8BE7DF37-9DA1-44D2-B48C-D012F699A9B1","id":266626},{"uuid":"3406D865-1A41 -4FC6-BA0B-0638F17757CC","id":266656}],"エラー":[],"entityName":"LeadProfile"}{"成功":true,"データ":[{"uuid":"8BE7DF37 -9DA1-44D2-B48C-D012F699A9B1","id":266626},{"uuid":"3406D865-1A41-4FC6-BA0B-0638F17757CC","id":266656}],"エラー":[]," entityName":"LeadProfile"} END DATA

1 つのアップロード タスクに対して 2 つの異なる応答が返されるのはなぜでしょうか。場所ごとにどのようself.responseDataに異なるのでしょうか?

これは、Apple Web サイトに記載されている理由によるものだと思う人はいますか? (NSData オブジェクトは多くの場合、多数の異なるデータ オブジェクトから結合されるため、可能な場合は常に、bytes メソッド (NSData オブジェクトを 1 つのメモリ ブロックにフラット化する) を使用するのではなく、NSData の enumerateByteRangesUsingBlock: メソッドを使用してデータを反復処理します。 apple.com

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

ios - キャッシュなしの iOS NSURLSessionConfiguration が意図したとおりに機能しない

iOS7 でセキュリティの問題に直面しています。次の構成を実行して、キャッシュなしで URL 接続を作成したい:

NSURLSessionDataTask を実行すると、エントリを含むファイル システムに Cache.db-wal ファイルが作成されたままになります。

この問題を解決する方法を教えてもらえますか? ファイル システムのキャッシュ ファイルにエントリがないようにします。

BR、マーティン