問題タブ [urlsession]

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

ios - 致命的なエラー: オプションの値 json のラップ解除中に予期せず nil が見つかりました

サーバーからデータを取得すると、コードの下に致命的なエラーが表示されます

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

swift - Swift で URLSession を使用して画像をキャッシュする方法

以下のコードを拡張して、画像をキャッシュし、以前にキャッシュされていない場合にのみダウンロードしたいと思います。これを行うために URLSession オブジェクトを使用する方法の良い例が見つからないようです。

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

ios - 呼び出しでパラメーター 'totalBytesWritten' の引数がありません

Swift 3.0.1 と Xcode 8.1 で iOS アプリを作成しています。プログラムでインターネットからファイルをダウンロードしようとしています。

どういうわけか、上記の呼び出しは Xcode に好まれません。何が欠けているのかわかりません。

編集:

これは私がこの呼び出しを使用しているところです。ただし、この内部では別のエラーが発生します。「タイプ 'AdvancedSettingsTableViewController' でインスタンス メンバー 'URLSession' を使用しています。代わりにタイプ 'AdvancedSettingsTableViewController' の値を使用するつもりでしたか?」

EDIT 2:ほとんど認識していないようです

有効な初期化子として。コマンドで URLSession をクリックすると、疑問符が表示されます。

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

ios - 潜在的なネットワーク エラーをすべて適切に処理するにはどうすればよいですか?

サービスのバックエンドとのすべての通信を行うネットワーク マネージャー クラスがあります。私は、ネットワーク リクエストが失敗する可能性がある場合に、ユーザーに優れたエクスペリエンスを提供できるように熱心に取り組んでいます。

現在、ネットワーク マネージャー クラスは、バックエンドで認証するための要求を行います。

Dataまたはの戻りを管理する別のクラスがありますError。これは、応答のステータス コードまたは要求のエラーに基づいています。

HTTP ステータス コードのリストとCFNetworkErrorsのリストを見ると、このようなエラーを処理する可能性がたくさんあることがわかります。私の場合、すべてCFNetworkErrorsが適切であるとは限りませんが、処理するエラーの長いリストが残っています。

をオンにする以外に、考えられるエラーを処理するための指示はありrequestError.codeますか?

すべてを処理するとCFNetworkErrors、次のようなコードをチェックする非常に長いロジック ブロックになってしまいます。

また、次のような適切な応答ステータス コードをすべて処理するための非常に長いブロックになってしまいます。

発生する可能性のあるすべてのネットワーク エラーを処理しようとする場合に、どのような良い方法があるかについて、いくつかのガイダンスを教えていただけますか?

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

ios - URLSession バックグラウンド アップロード タスクがリセットされ続ける

uploadTaskに を使用すると、奇妙な動作が発生しURLSessionConfiguration.backgroundます。

URLSessionDelegateカスタム デリゲートは、 、URLSessionTaskDelegate、およびに属するすべてのデリゲート メソッドを実装していURLSessionDataDelegateます。それらのすべてにprint、メソッドが呼び出されたことを示すステートメントがあります。

サーバーに 5 つの画像をアップロードしようとしていますが、それぞれに画像 ID と一致する ID を持つ独自のセッションがあります。

問題は、非常に遅い接続「エッジ」を使用してアップロードする場合、アップロードの進行状況が 100% に達する前にリセットされることです。これdidFinishCollectingMetricsは、ここで確認できるように、 が呼び出されるたびに発生します:データ

これは、低速接続を使用している場合に常に発生するわけではなく、ごくたまに発生するだけです。

ここで何が起こっているかについて何か考えがある人はいますか?

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

ios - Swift 3:ダウンロードしたファイルのインターネット速度を決定する方法は?

私は現在、ファイルのダウンロード速度に基づいてユーザーのインターネット速度接続を決定するアプリに取り組んでいます。

@Rob が Swift で答え​​を提供した同様の質問を見つけました: iOS 8 でインターネット速度を決定する正しい方法

現在、私はSwift 3を使用しており、次のように古いSwiftから彼のコードを変換しようとしました:

ほとんどのコードを変換できましたが、いくつかのエラーが発生しているようです2 :

ここに画像の説明を入力

誰かがこれについて支援を提供できますか? ありがとう

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

ios - URLSession デリゲートの成功メソッドは呼び出されませんが、エラーはありません

URLSession dataTask を使用して、結果ハンドラーとして URLSessionDownloadDelegate を含むファイルをダウンロードしています。ただし、urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)呼び出されることはありません。代わりにurlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?)、エラーがゼロになります。代わりに completionHandler メソッドを使用してタスクを実行すると、すべてが機能します。

これが私のコードです:

シミュレーターの出力は

前もって感謝します。

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

swift - URLSession とバックグラウンド フェッチを、firebase を使用したリモート通知と一緒に使用する

アプリがバックグラウンドまたは一時停止されたときに呼び出される基本的な関数をここに実装しようとしています。

実際には、1 日に約 5 件の送信を目指しているため、Apple が私たちの利用を抑制してはなりません。

firebase と userNotifications を使用する以下のものをまとめました。今のところ、それは私のアプリ デリゲートにあります。

結果は次のとおりです。

アプリがフォアグラウンドにある場合:

  1. 「startDownload 関数で」ログを取得します

  2. 「ダウンロードが完了しました」というログが表示されます。

アプリがバックグラウンドの場合:

  1. 「startDownload 関数で」ログを取得します

  2. 「ダウンロードが完了しました」というログが表示されません。

  3. サイレンサーが機能していません。つまり、アプリがバックグラウンドになっている場合でも、トレイに通知が表示されます。

Postman を使用してリクエストを送信し、次のペイロードを試しましたが、コンソール エラーが発生しました'FIRMessaging receiving notification in invalid state 2'

バックグラウンド フェッチとリモート通知の機能を設定しています。アプリはSwift 3で書かれており、最新のFirebaseを使用しています

編集: コメントごとに funcs を含めるように AppDelegate を更新しました