2010-09-24 3 views
1

Может кто-то подтвердить, что -checkResourceIsReachableAndReturnError: метод NSURL работает должным образом. Я попытался использовать его для известных URL-адресов, и он всегда возвращает NO. Я использую iPhone Simulator 4.1 XCode. Спасибо.Проверка правильности 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-файлов (которые ваш URL, вероятно, это не так), и он работает только на Mac OS X в любом случае.

+0

В заключении, для прошивки, ответ НЕТ, верно? Любое обходное решение? – Interfector

+0

Что именно вы пытаетесь достичь? –

+0

Я хочу посмотреть, есть ли у меня XML в определенном удаленном месте – Interfector

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. –

1

Если вы просто хотите знать, если URL действителен, вы можете

NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"yourstring"]]; 
bool valid = [NSURLConnection canHandleRequest:req]; 
Смежные вопросы