【发布时间】:2014-07-14 10:21:00
【问题描述】:
我正在处理在我的 IOS 应用程序中执行登录时从 Parse.com 收到的错误。我尝试使用 AFNetworking 使用错误的密码和正确的用户名登录
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{my parameters};
[manager POST:@"{login url}" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
code
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error.localizedDescription); <-- this line gets processed
}];
日志说
Request failed: not found (404)
我知道这意味着密码错误,但它不应该更具描述性吗?如何处理其他错误(如错误请求)?用户不应该知道为什么请求失败或者是一个错误的请求吗?
编辑: 这是我尝试使用错误密码登录时 Parse 的响应
{
AFNetworkingOperationFailingURLResponseErrorKey = "<NSHTTPURLResponse: 0x15571820> { URL: https://api.parse.com/1/login?password=pqpqpq&username=lalala%20namaku%20panjang%20sekali%20lhoooooooooooo } { status code: 404, headers {\n \"Access-Control-Allow-Origin\" = \"*\";\n \"Access-Control-Request-Method\" = \"*\";\n Connection = \"keep-alive\";\n \"Content-Encoding\" = gzip;\n \"Content-Length\" = 68;\n \"Content-Type\" = \"application/json; charset=utf-8\";\n Date = \"Wed, 16 Jul 2014 05:49:49 GMT\";\n Server = \"nginx/1.4.4\";\n \"X-Parse-Platform\" = G1;\n \"X-Runtime\" = \"0.113695\";\n} }";
NSErrorFailingURLKey = "https://api.parse.com/1/login?password=pqpqpq&username=lalala%20namaku%20panjang%20sekali%20lhoooooooooooo";
NSLocalizedDescription = "Request failed: not found (404)";
}
我怎么知道这意味着没有找到匹配用户名和密码的 User 对象,或者没有找到 URL (https://api.parse.com/1/login?password=pqpqpq&username=lalala%20namaku%20panjang%20sekali%20lhoooooooooooo)?
【问题讨论】:
-
为什么不使用原生 iOS SDK,因为它已经为您完成了,您不需要关心 AFNetworking 以及正确构建和解码 URL ?它可以很容易地通过 cocoapods 安装...
-
它没有回答我的问题。如何处理 Parse.com 提供的模棱两可的错误代码?我的意思是,404 可能意味着找不到 url 对吗?
标签: ios parse-platform afnetworking-2 nserror