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 开发者_如何学JAVA4.1.
Thank you.
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.
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];
}
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];
精彩评论