問題タブ [afhttprequestoperation]

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 に答える
2209 参照

ios - 署名付き URL を使用した iOS から S3 への POSTING のタイムアウト

私のサーバーは、S3 への署名付きアップロードの情報を生成しています。その情報を iOS に渡すと、小さなファイルで機能します。より大きなものでも機能する場合がありますが、タイムアウトすることがよくあります。現在、WIFI経由でiOS 7でテストしています。約 35 MB のファイルで約 60% 後にタイムアウトするのが一般的ですが、完了する場合もあれば、それより早くタイムアウトする場合もあります。

私のサーバーは次の情報を生成し、フォーム パーツとして POST に渡します。(同様の結果が得られるパラメーターとしても試しました):

  • AWSAccessKeyId
  • コンテンツ タイプ
  • acl (プライベートに設定)
  • バケツ
  • ポリシー
  • サイン
  • success_action_redirect

URLも同様です。

アップロードを生成するコードは次のとおりです。

これにより、次のエラーが生成されます。

アップデート:

SOにはいくつかの同様の質問があります。多くの人が Heroku のタイムアウトに問題を抱えていますが、私は S3 に直接アップロードしています。

この人物は、自分のサーバーへのアップロードで同じ問題を抱えているようです: - AFNetworking を使用して iOS に大きなファイルをアップロードする - エラー Request Timeout

この質問は、AWS ライブラリを使用した同様の問題のように見えますが、コードは提供されていません。

AFNetworking による Amazon-S3 へのアップロード

この問題は関連しているようですが、ソースを見ると、ファイルを投稿するときに長さが考慮されているようです:

https://github.com/AFNetworking/AFNetworking/issues/1510#issuecomment-29687300

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

ios - AFNetworking に downloadProgressBlock を設定すると、最後に一度だけ呼び出されます

画像をダウンロードしていますが、ダウンロードの進行状況を表示したいと考えています。

私も完了ブロックを持って[imageOperation start];います。

ただし、ダウンロードする画像を選択すると、ログに記録されるのは次のとおりです。

bytesRead: 72081、totalBytesRead: 72081、totalBytesExpected: 72081

最後にだけ情報を提供するのはなぜですか?

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

ios - キャンセルされた AFHTTPRequestOperation が成功ブロックにヒットすることがあるのはなぜですか?

Google Places API を介して検索バーにオートコンプリートを統合しています。また、ネットワーク リクエストには AFNetworking を使用します。

一度に実行するリクエストは 1 つだけにしたい。そのため、新しい文字を入力するたびに、次のことを行います。

1 - 前の AFHTTPRequestOperation をキャンセルします。

2 - 新しい AFHTTPRequestOperation を開始します。

リクエストの実行が終了したときに呼び出されるコールバックは次のとおりです。

時々私はアサーションにぶつかったので、少し調査したところ、ほとんどのNSURLErrorCancelled場合、期待される動作であるエラー コードで失敗ブロックが呼び出されますが、成功ブロックが呼び出されることもあります。

このスタック トレースは、コード内の処理が正しい順序で行われたことを示しています

isCancelledさらに、成功ブロックが呼び出されたときに AFHTTPRequestOperationのプロパティを見ましたが、 NO が返されます (!!!) NSAssert を使用する代わりにテストするだけで終わる可能性があることはわかっていますが、問題の原因を見つけたいと考えています。

キャンセルしても実際にはリクエストがキャンセルされないという同様の問題に遭遇したことがありますか? そして、失敗ブロックの代わりに成功ブロックが呼び出されますか? これは AFNetworking チームに報告する問題ですか? ありがとう!

それが役立つ場合、リクエストは非常に高速です(GoogleのオートコンプリートAPIは印象的です...)

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

ios - AFNetworking の予想される読み取りバイトは -1 です

iPadからafnetworkingを使用してサーバーからファイルをダウンロードしようとしています。

ファイルを正常にダウンロードできます。しかし、不思議なことに、totalBytesRead は正しいのに、私の totalBytesExpectedToRead は常に -1 です。どこで間違えたのですか?

コード全体はこちらです。

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

ios - iOS: AFHTTPRequestOperationManager を管理する

私のアプリでは、いくつかの JSON ファイルをダウンロードする必要があります。コードでわかるように、これらの URL を plist に保存します。「AFHTTPRequestOperationManager」を作成した後、「url_list」の番号に操作を追加するループを作成します。

このコードは問題ないはずですが、次の 2 つの情報が必要です。

  • 私の「マネージャー」の進捗値を知る方法は何ですか?, 単一の進捗値ですべての操作の状態を知りたいからです

  • 操作が終了したら、このデータを解析するメソッドに「responseObject」を渡す必要があるため、操作がいつ終了するかを知りたい

手伝って頂けますか?

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

php - AFHTTPRequestOperationManagerがphpページにパラメータを送信していません

AFNetworking を使用して、自分のページ (php ページ) の 1 つにキー値を送信しようとしています。この操作に AFHTTPRequestOperationManager を使用しています。投稿は正常に行われていますが、サーバー側で空白の値を受け取っています。

成功ブロックが実行されるように、JSON 文字列を送り返しています。しかし、サーバー側で値を取得しようとすると、すべての値が空白になります。

次に、ブラウザーを使用してhttp://www.xyz.in/app/apns/register.php?name=15&email=のようなデータを送信しようとすると、 NSMutableURLRequest *request を使用してデータを送信しようとしましたが、これも同じ結果になります1234®Id=r5678d&device_flag=2、うまくいきます。

NSMutableURLRequest を使用した私のコードは以下のとおりです

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

ios - AFHTTPRequestOperations のキューがメモリの蓄積を引き起こしている

AFNetworking 2.0 にアップデートしたばかりで、データをダウンロードして Core Data に挿入するコードを書き直しています。

JSON データ ファイル (10 ~ 200 MB のファイル) をダウンロードしてディスクに書き込み、バックグラウンド スレッドに渡してデータを処理します。以下は、JSON をダウンロードしてディスクに書き込むコードです。これを (データを処理することさえせずに) そのまま実行すると、アプリは強制終了されるまでメモリを使い果たします。

データが入ってくるとメモリに保存されていると思いますが、ディスクに保存すると、なぜメモリに残るのでしょうか? 自動解放プールがこれを処理するべきではありませんか? また、responseData と downloadData を nil に設定しました。ここで私が間違っていることが露骨に明らかなことはありますか?

ありがとう!

編集#1@autoreleasepool完全なブロック内に を追加すると、メモリ使用量が少し遅くなるように見えましたが、それでも蓄積され、最終的にアプリがクラッシュします。