2011-11-14 5 views
4

Webサービスを使用していますが、何らかの理由で検証が失敗した場合、エラーメッセージがStatusDescriptionにあります。私はそれを取得してそれをユーザーに表示する方法が必要ですが、NSHTTPURLResponseに表示されるのはStatusCodeとステータスコードを標準エラーメッセージに変換する方法です。NSHTPURLResponseのステータスの説明を取得するには

Webサーバーは、データエラーに関係なく常に500のステータスコードを返します。したがって、コードから問題を推測することはできません。

答えて

0

ここにNSLogの出力が表示されます。表示されているように、コードはdidFailWithErrorに入ります。サーバーが追加メッセージを提供する場合財団フレームワークを使用して、指定された応答から理由メッセージを取得する方法はありませんが、

[NSHTTPURLResponse localizedStringForStatusCode:httpResponse.statusCode]; 

- (void)connection:(NSURLConnection *) connection didFailWithError:(NSError *)error 
{ 
    NSLog(@"Connection didFailWithError (connection %p) (code %d) %@ %@ %@", 
     connection, 
     [error code], 
     [error localizedDescription], 
     [error localizedFailureReason], 
     [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]); 
} 
7

あなたはそのような標準的なエラーメッセージを取得することができます。そのためには、Core Foundationクラスを使用する必要があります。私は、ローカライズされた記述は、サーバが提供するエラーメッセージを返すされませんでしたので、AFNetworkingを使用するように切り替えてしまった

CFStringRef myStatusLine = CFHTTPMessageCopyResponseStatusLine(myResponse);

0

:最後には、このような機能を提供します。

+1

AFNetworkingでこれをどのように管理しましたか?現在、同じ問題を抱えていますが、私はAFNetworkingを使用しています。 – SpacyRicochet

関連する問題