NSURLConnection の失敗をどのようにテストできますか?
また、機内モードまたは WiFi がオフになっているために失敗したかどうかは、どうすればわかりますか? 私のテストでは、WiFi をオンにする必要があることをユーザーに通知するアラートがポップアップ表示されますが、ユーザーがそれを無視すると、アプリはそこに留まり、応答を待ってスピンします。
NSURLConnection の失敗をどのようにテストできますか?
また、機内モードまたは WiFi がオフになっているために失敗したかどうかは、どうすればわかりますか? 私のテストでは、WiFi をオンにする必要があることをユーザーに通知するアラートがポップアップ表示されますが、ユーザーがそれを無視すると、アプリはそこに留まり、応答を待ってスピンします。
接続のデリゲートが自己の場合、次のようなことができます。
self.myConnection = [[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self] autorelease];
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
if ([error code] == kCFURLErrorNotConnectedToInternet)
{
// if we can identify the error, we can present a more precise message to the user.
NSDictionary *userInfoDict = [NSDictionary dictionaryWithObject:@"No Connection Error"
forKey:NSLocalizedDescriptionKey];
NSError *noConnectionError = [NSError errorWithDomain:NSCocoaErrorDomain
code:kCFURLErrorNotConnectedToInternet
userInfo:userInfoDict];
[self handleError:noConnectionError];
}
else
{
// otherwise handle the error generically
[self handleError:error];
}
}