2

NSURLConnection の失敗をどのようにテストできますか?

また、機内モードまたは WiFi がオフになっているために失敗したかどうかは、どうすればわかりますか? 私のテストでは、WiFi をオンにする必要があることをユーザーに通知するアラートがポップアップ表示されますが、ユーザーがそれを無視すると、アプリはそこに留まり、応答を待ってスピンします。

4

1 に答える 1

4

接続のデリゲートが自己の場合、次のようなことができます。

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];
    }
}
于 2010-01-13T03:14:00.487 に答える