Открытие NSURL с использованием строковой переменной - iPhone

У меня есть переменная с именем storedURL, которая имеет формат www.xxxxx.com. Я пытаюсь использовать приведенный ниже код, чтобы открыть этот URL-адрес в Safari, когда пользователь нажимает кнопку.

-(IBAction)launchWeb {

    NSString *url = [NSString stringWithFormat: @"%@",
                     storedURL];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];  
}

Однако приложение вылетает при нажатии кнопки.

Может ли кто-нибудь помочь исправить мой код?

РЕДАКТИРОВАТЬ

Код mvds вылетает со следующим:

2011-04-02 14: 01: 41.542 Лондон [16791: 207] + [NSURL urlWithString:]: нераспознанный селектор отправлен в класс 0x103dcbc 2011-04-02 14: 01: 41.545 Лондон [16791: 207] * Завершение приложение из-за неперехваченного исключения 'NSInvalidArgumentException', причина: '+ [NSURL urlWithString:]: нераспознанный селектор отправлен в класс 0x103dcbc' * Стек вызовов при первом вызове: (0 CoreFoundation 0x00fd95a9 exceptionPreprocess + 185 1 libobjc. A.dylib 0x0112d313 objc_exception_throw + 44 2 CoreFoundation 0x00fdb17b + [NSObject (NSObject) DoesNotRecognizeSelector:] + 187 3 CoreFoundation 0x00f4a966 __ пересылка + 966 4 CoreF4_Prefoundation 0x00000 _Coref4_Prefoundation 0x00000 _Coref4_Prefoundation 0x00000 _Coref_Foundation 0x00000 _Coref_Pref_Foundation 0x0000 + 966 4_Coref_Prefound_02 DetailViewController launchWeb] + 126 6 UIKit 0x0022b4fd - [UIApplication sendAction: to: from: forEvent:] + 119 7 UIKit 0x002bb799 - [UIControl sendAction: to: forEvent:] + 67 8 UIKit 0x002bdc2b - [UIControl (Internal) _sendActionsForEvents: withEvent:] + 527 9 UIKit 0x002bc7dIG - [UIControl8cEventuresEndure]: 0 + 3609 11 UIKit 0x004bec53 _UIGestureRecognizerUpdateObserver + 927 12 CoreFoundation 0x00fba89b <сильный> CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 27 13 CoreFoundation 0x00f4f6e7 __CFRunLoopDoObservers + 295 14 CoreFoundation 0x00f181d7 __CFRunLoopRun + +1575 15 CoreFoundation 0x00f17840 CFRunLoopRunSpecific + 208 16 CoreFoundation 0x00f17761 CFRunLoopRunInMode + 97 17 GraphicsServ ices 0x0151a1c4 GSEventRunModal + 217 18 GraphicsServices 0x0151a289 GSEventRun + 115 19 UIKit 0x00239c93 UIApplicationMain + 1160 20 London 0x00001ee9 main + 121 21 London 0x00001e65 start + 53


person GuybrushThreepwood    schedule 02.04.2011    source источник


Ответы (1)


Вероятно, это nil, поскольку «www.xxxxxxx.com» не является URL-адресом. Пытаться

 NSString *urlstring = [NSString stringWithFormat:@"http://%@/",storedURL];
 NSURL *url = [NSURL URLWithString:urlstring];
 NSLog(@"url = %@",url);
 [[UIApplication sharedApplication] openURL:url];

Если это не помогает, поделитесь выводом (трассировкой стека) в окне консоли.

person mvds    schedule 02.04.2011
comment
Привет, mvds. Спасибо за вашу помощь. Этот код вылетает со стеком выше. Также есть предупреждение о том, что NSURL не отвечает на urlWithString. - person GuybrushThreepwood; 02.04.2011
comment
@Ohnomycoco, исправьте регистр в методе URLWithString. Это займется этой проблемой. - person Black Frog; 02.04.2011
comment
По-прежнему происходит сбой в первой строке: NSString * urlstring = [NSString stringWithFormat: @http: //% @ /, storedURL]; - person GuybrushThreepwood; 02.04.2011
comment
На выходе ничего нет (трассировка стека). Просто дает повод EXC_BAD_ACCESS - person GuybrushThreepwood; 02.04.2011
comment
решено - сохраненный URL-адрес терялся, так как его нужно было сохранить - СПАСИБО - person GuybrushThreepwood; 02.04.2011