Простой способ сделать это - использовать проект ASIHTTPRequest .В первую очередь потому, что в него уже встроены необходимые проверки достижимости, и его легко настроить и использовать асинхронный запрос.
Пример асинхронной загрузки с сайта:
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching binary data
NSData *responseData = [request responseData];
}
Комментарий доступности с сайта
Позволяет уведомлять ASIHTTPRequest при изменении сетевого подключения с WWAN на WiFi или наоборот.