私はリクエストを投稿し、次のようなエラーをチェックしています:
// 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);
}
}
}
}];
});
リクエストに関する限り、うまく機能しているようです。私の意図は、失敗時にリクエストをキューに入れ、後日再試行するか、エラーとこれまでに失敗した試行の数に依存しないことでした. 私が抱えている問題は、実際にはリクエストが成功し、意図したとおりに投稿され、Twitter ストリームで 1 日として明確に表示されるエラー 34「ページが見つかりません」で、頻繁に失敗するように見えることです。
ここで、返されたエラー コードを信頼できない場合、実際に続行して再試行を続けることはできません。成功か失敗かを確実に知るにはどうすればよいですか?
最近の観察:
最近、Appleの写真アプリから直接写真を投稿しようとしたところ、「ツイートに失敗した可能性があります」という警告が表示されました。この場合、基本的にそれが私の唯一の選択肢として来ていたので、それは面白いです. これは、返品が確認されない場合、投稿が失敗したことを確実に伝える方法がないことをAppleでさえ認めなければならなかったと思います.