Interfector
Interfector

Reputation: 1898

Check URL validity

Can someone confirm that -checkResourceIsReachableAndReturnError: method of NSURL is working as expected. I have tried using it for known URLs and it is always returning NO. I am using XCode's iPhone Simulator 4.1. Thank you.

Upvotes: 1

Views: 6079

Answers (3)

Adam Shiemke
Adam Shiemke

Reputation: 3742

If you just want to know if the URL is valid, you can

NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"yourstring"]];
bool valid = [NSURLConnection canHandleRequest:req];

Upvotes: 1

sudo rm -rf
sudo rm -rf

Reputation: 29524

You can use this method:

- (BOOL) validateUrl: (NSString *) url {
   NSString *theURL =
   @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
   NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", theURL]; 
   return [urlTest evaluateWithObject:url];
   }

Upvotes: 4

tc.
tc.

Reputation: 33592

According to NSURL Class Reference

Returns whether the resource pointed to by a file URL can be reached.
...
Discussion
This method is unimplemented in iOS, so it performs no operation

So it only works for file URLs (which your URL probably isn't) and it only works on Mac OS X anyway.

Upvotes: 5

Related Questions