Get A Small File Method

This test will lock up if there is WiFi but no internet connection:


if (![self.reachability isReachable])

This works much better as it tests the connection to an actual file on the server you want to connect to (assuming you can get a named file from it) and allows you to specify a timeout:


    //----- TRY AND DOWNLOAD FILE WITH TIMEOUT -----
	//This avoids lockup if we have WiFi connectivity but can't reach the server for any reason
	NSString *urlString = @"http://www.mydomain.com/some_file.txt";
	NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:3.0];		//Set timeout
	NSURLResponse* response = nil;
	NSError* error = nil;
	NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
	NSString* stringFromServer = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; //autorelease];
	//stringFromServer will be @"" if file could not be retrieved due to no server response, no internet connectivity or if WiFi and GSM are not connected.