2014-06-13 1 views
0

iOS7을 사용하여 내 앱에 로그인하려고 할 때 일부 설명이 포함 된 실패 응답이 표시됩니다. 이 NSURLAuthenticationChallenge failureResponse의 NSLog입니다 :NSURLConnection, NSURLAuthenticationChallenge 실패 응답

<NSHTTPURLResponse: 0xa383570> { URL: <URL> } { status code: 401,headers { 
"Content-Length" = 1385;"Content-Type" = "text/html;charset=utf-8"; 
Date = "Fri, 13 Jun 2014 12:14:24 GMT"; 
Server = "Apache-Coyote/1.1"; 
"Www-Authenticate" = "Basic realm=\"booo\""; 
"x-errorCode" = 02; 
"x-errorDescription" = "com.idealination.core.server.client.http.ServerException: 
Request failed: <URL> Status: CLIENT_ERROR_UNAUTHORIZED 
Error: #Unauthorized :: Invalid userid or password."; 
} }  

그리고 내가 어떻게해야합니까 어떤 오류 알고 그 마지막 줄이 필요합니다. 내가 iOS6의 아이폰 3GS를 사용하지만 난 단지 얻을 :

<NSHTTPURLResponse: 0x1c507ae0> 

내가 iOS7에를 사용하여 같은 응답을 얻기 위해 어떻게해야합니까? 그리고 왜 다른 반응을 보이고 있습니까?

답변

1
당신은 마지막 줄을 찾고해서는 안

,이 경우, HTTP 상태 코드를 찾고해야 당신이 상태 코드는으로 무엇을 의미하는지에 그것을 변환해야하는 경우 (401)

if(urlResponse.statusCode == 401) { } 

문자열 사용

NSString *status = [NSHTTPURLResponse localizedStringForStatusCode:urlResponse.statusCode]; 
+0

내 사용자가 일시 중지되었지만 마지막 줄이 다른 경우 동일한 코드가 표시됩니다. 그게 내가 그 라인을 필요로하는 이유입니다. –

+0

어쩌면 내가 잘못된 장소에서 서버 예외를 잡는 중입니까? 하지만 다른 곳에서는 그것을 잡지 못합니다. 또는 나는 그것을 잘못하고있다. –

+0

@Roo : 위의 조언을 따르는 경우'status' 변수에서 "마지막 줄"을 읽을 수 있습니다 ... 잘하면 ... – sergio