web-dev-qa-db-ja.com

エラー:エラードメイン= NSURLErrorDomainコード= -1001「リクエストがタイムアウトしました。」

Xcode 6.1、iOS 8.1のアプリケーションに取り組んでいます。アプリケーションは2日前まで完全に正常に機能していましたが、今日実行したときにWebサービスでエラーが発生しました。エラーは以下のとおりです。

エラー:エラードメイン= NSURLErrorDomainコード= -1001「リクエストがタイムアウトしました。」 UserInfo = 0x7c6899b0 {NSErrorFailingURLStringKey =、NSErrorFailingURLKey =、NSLocalizedDescription =リクエストがタイムアウトしました。NSUnderlyingError= 0x7c688f60 "リクエストがタイムアウトしました。"}

AFNetworking 2.xと次のコードスニペットを使用してネットワーク呼び出しを行いました。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes=[manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];

[manager POST:<URL>
   parameters:<parameters>
      success:^(AFHTTPRequestOperation *operation, id responseObject) {

          NSLog(@"JSON: %@", responseObject);
          NSError *error = nil;
          NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
          if (error) {
              NSLog(@"Error serializing %@", error);
          }
          NSLog(@"Dictionary %@", JSON);
          NSLog(@"Success");
      }
      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
          NSLog(@"Error: %@", error);
      }]; 
}

更新: iOS Simulator.appを終了/再起動し、コンテンツ設定をリセットしましたが、何も機能しませんでした。

20
iYoung

コードに問題はありませんでした。シミュレーターは内部でインターネットに接続できなかったため、さまざまなタイムアウト間隔を設定した後、サーバーに接続できなかったのはそのためです。しかし、私が別の日に実行したとき、それは完全にうまくいきました。この問題の発見を支援してくれた@Andrew Jaffeeに感謝します。

18
iYoung

この問題があり、別の解像度を持っていたので、ここに追加したいと思いました:

基本的に、クリーンなGETリクエストであるはずだったときに、いくつかのパラメーターを送信していました。パラメーターを削除し、GET要求は正常に機能しました。

7
agrippa

iOSシミュレーター->コンテンツと設定のリセット。私のために働いた

7
Babac

ローカルサーバー接続を呼び出していて、このエラーが発生していました。デバイスと電話で別のネットワークを使用していました。両方を同じwifiに接続すると、うまくいきました。

4
sha123

これは、シミュレータの実行中にネットワーク構成が変更された場合に発生する可能性があります。シミュレーターランタイムを再起動してください(例:iOS Simulator.appの終了/再起動)。これで問題が解決する可能性があります。

問題が解決しない場合は、質問を更新して、発生している問題がこの既知の問題ではないことを示してください。ありがとう。