我正在发布请求并检查如下错误:
// Send request out on a background thread
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
if ([urlResponse statusCode] == 200) {
NSLog(@"Tweet Successful");
}else {
NSLog(@"Tweet Failed");
if (responseData) {
// Use the NSJSONSerialization class to parse the returned JSON
NSError *jsonError;
NSArray *requestResponse =
[NSJSONSerialization JSONObjectWithData:responseData
options:NSJSONReadingMutableLeaves
error:&jsonError];
if (requestResponse) {
NSLog(@"%@",requestResponse);
} else {
NSLog(@"%@",jsonError);
}
}
}
}];
});
就请求而言,它似乎工作正常。我的意图是将失败的请求排队并在以后重试,或者不取决于错误以及到目前为止失败的尝试次数。我遇到的问题是我发现它经常出现失败,错误 34“未找到页面”实际上请求确实成功,按预期发布,并且可以在 Twitter 流中清楚地看到。
现在,如果我不能相信返回的错误代码,那么我真的不能继续重试。我如何确定它是成功还是失败?
最近的观察:
最近,我尝试直接从 Apple 照片应用程序发布照片,它向我发送了一条警告,上面写着“推文可能没有成功”。这很有趣,因为这基本上是我在这种情况下唯一的选择。这让我觉得即使是 Apple 也不得不承认,当退货未确认时,无法确定该帖子是否失败。