2010-09-24 102 views
1

有人可以确认-checkResourceIsReachableAndReturnError:方法NSURL正在按预期工作。我曾尝试将它用于已知的网址,并且它始终返回NO。我正在使用XCode的iPhone Simulator 4.1。 谢谢。检查URL的有效性

回答

5

根据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

所以它仅适用于文件URL(其中您的网址可能不是),它仅适用于Mac OS X的反正。

+0

总之,适用于iOS,答案是否定的,对不对?任何解决方法? – Interfector 2010-09-25 05:26:10

+0

你到底想要达到什么目的? – 2010-09-26 12:28:11

+0

我想看看我是否有在特定的远程位置 – Interfector 2010-10-23 11:49:34

4

您可以使用此方法:

- (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]; 
    } 
+0

这无法正常工作。婴儿,对于一些有效的URL,它返回NO。 – 2015-02-11 18:20:56

1

如果你只是想知道,如果URL是有效的,你可以

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