iOS airplane mode throws kCLErrorDomain, not kCLErrorNetwork
===

I'm testing my iPhone app and turned on airplane mode to see what the user would see (my app requires internet). See code below.

    switch([self.model.locError code])
    {
        case kCLErrorNetwork: // general, network-related error
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"We require internet!" message:@"Please check your network connection or that you are not in airplane mode" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
            [alert show];
        }
            break;
        case kCLErrorDenied:{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"We need your location!" message:@"Please enable location services for this app in your Settings" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
            [alert show];
        }
            break;
            
        default:
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Unknown network error" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
            [alert show];
        }
            break; 
    }    


Why does changing the settings to airplane mode, and then testing the app, cause it to throw a kCLErrorDomain (ultimately going to the default case in my switch statement) as opposed to kCLErrorNetwork? What do I have to do so that if the user is in airplane mode, it reaches the first case instead of the default one?

Thanks!