2017-09-22 8 views
4

iOS11デバイス(iPhone 5S)で実行するとURLSessionでデータタスクを実行しようとしていますコンソールエラー:Objective-C - iOS11のタスク用のHTTPロードに失敗しました(エラーコード:-1004 [1:61])

2017-09-22 15:22:17.942015-0300 app[1355:283536] TIC TCP Conn Failed [3:0x1c417af40]: 1:61 Err(61) 
2017-09-22 15:22:17.943698-0300 app[1355:283536] Task <A32F0275-75C3-4F64-AB92-2E37527AB813>.<0> HTTP load failed (error code: -1004 [1:61]) 
2017-09-22 15:22:17.945265-0300 app[1355:283676] NSURLConnection finished with error - code -1004 

シミュレータ上で実行されていません。

何が原因なのですか、それを修正する方法はありますか?

Here's what I'm doing

#define kEcardURL @"https://example.com/mobile/services/ecard/" 

- (void)doSomething { 

    //Params Configuration 
    NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys: 
          [oauth.userData valueForKey:@"wsuserid"], @"token", 
          nil]; 

    NSString *path = @"fotoCartao"; 
    NSData* params = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil]; 
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", kEcardURL, path]]; 
    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; 
    [urlRequest setHTTPMethod:@"POST"]; 
    [urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
    [urlRequest setHTTPBody:params]; 


    NSURLSessionDataTask *dataTask = [[self session] dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; 

    if ([data length] > 0 && error == nil) { 
     if ([httpResponse statusCode] == 200) { 
     //do stuff 
     } 
    } 
    }]; 
    [dataTask resume]; 
    } 
} 

- (NSURLSession *)session { 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
    // Session Configuration 
    NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration]; 

    // Initialize Session 
    _session = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]]; 
    }); 
    return _session; 
} 
+0

いくつかのコードを表示する必要があります。 –

+0

あなたの質問を編集してそこに追加してください。それ以外の場合はあまり読みにくくありません。また、関連するコードをすべて追加してください。私が知っているすべての問題はあなたのURLかもしれませんが、私たちはそれを見ることはできません。 –

答えて

2

URLは、以下のコマンドを実行して、サポートされていることを確認してください:

curl -v https://example.com/mobile/services/ecard/ 

nscurl --verbose --ats-diagnostics https://example.com/mobile/services/ecard/ 

あなたはもはやアップルによってサポートされているサイファーハッシュとプロトコルを使用していないことを確認します。

IOS 11は、もはやこれらをサポートしています。

サイファー:

  • RC4
  • 3DES-CBC
  • AES-CBC

ハッシュ:

  • MD5
  • SHA-1

鍵のサイズ:

  • < 2048ビットRSAパブキー

プロトコル:

  • ます。http://
  • のSSLv3
  • TLS 1.0
  • TLS彼らはあなたがあなたのアプリケーションのplistファイルに NSAppTransportSecurityプロパティを使用してドメインをホワイトリストに登録することができますサポートされていない場合は1.1

関連する問題