4

理解できないバグに遭遇しましたが、今のところ、特定のデバイスでのみ発生します。これはiOS6を搭載したiPhone5で発生しますが、残念ながら、iPhone5であるという事実に関連しているかどうかを確認するために別のiPhone5にアクセスすることはできません。

問題は、サーバーAPIに対して行われた特定のネットワーク要求がタイムアウトすることですが、接続は高速であり、サーバーは他のデバイスからの同じ要求に正常に応答するため、サーバー側の問題はないようです。

AFNetworking私はhttpリクエストを行うために使用します。

私はサブクラスAFHTTPClient化しました、そしてその特定の要求のために私はそれをこのように使います

[[MyClient sharedInstance] putPath:@"myPath"
                        parameters:[NSDictionary dictionaryWithObject:@"y" forKey:@"set"]
                           success:^(AFHTTPRequestOperation *operation, id responseObject){
                                     // do something with response
                           }
                           failure:^(AFHTTPRequestOperation *operation, NSError *error){
                                     // tell user there an error occurred
                           }];

誰かが私にこれが起こっているいくつかの考えられる理由または何が起こっているのかを理解するために分析することを指摘してくれれば幸いです。

4

3 に答える 3

2

この問題が AFNetworking と特定のデバイスの間の相互作用に関連している可能性はほぼゼロです。おそらくどちらか一方です。

AFNetworking のテスト

AFNetworking は、接続の変更の組み込み検出を提供します。AFHTTPClient-setReachabilityStatusChangeBlock:メソッドを使用してブロックを設定します。これにより、インターネット接続が失われたときに通知され、必要に応じてアプリの動作を調整できます。

このスタック オーバーフローの質問には、サンプル コードとセットアップ手順が記載されています。

status参照用に、変数の値を次に示します。

AFNetworkReachabilityStatusUnknown          = -1,
AFNetworkReachabilityStatusNotReachable     = 0,
AFNetworkReachabilityStatusReachableViaWWAN = 1,
AFNetworkReachabilityStatusReachableViaWiFi = 2,

デバイスのテスト

問題をデバイスに切り分けるために、次のことを試すことができます。

Fingをダウンロードして、さまざまなデバイスでのネットワーク パフォーマンスを比較する

• testmyiphone.comでデータ速度テストを行う

• デバイスのペアレンタル コントロールをチェックして、アプリの動作と競合するものがあるかどうかを確認します。

• バックアップから復元せずに iTunes でデバイスを復元する

于 2013-02-11T20:11:53.157 に答える
0

Charlesなどのツールを使用して、送信している実際の HTTP 要求/応答を監視することから始めることをお勧めします。

Charles を実際のデバイスのプロキシとして使用できます。こちらの手順を確認してください。

お役に立てれば。

于 2013-01-24T16:52:34.383 に答える
0

iPhoneのwifiネットワークを確認することをお勧めします。これは、会社の企業ネットワークに接続していて、サーバーに接続しようとしたときにリクエストのタイムアウトが発生したときに、過去に発生しました。これは、プロキシの問題が原因である可能性があります。

まず、あなたのサーバーはイントラネットですか? そうでない場合は、代わりに 3G を使用してサーバーに接続してみてください。

イントラネットの場合は、別の社内ネットワークを探すか、社内に VPN がある場合は VPN を使用してください。

于 2013-02-06T02:13:16.563 に答える