Что-то неизвестно с открытием URL в Safari - PullRequest
0 голосов
/ 17 января 2012

ребята. Я пытаюсь реализовать открытие ссылки из моего веб-просмотра в сафари. Иногда это работает отлично, иногда показывает исключительный плохой доступ. Это мой код:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    urlWillShow = [request mainDocumentURL];
    return YES;   
}
- (IBAction)openInSafari {
        NSLog(@"Will try to open in safari link: %@", [urlWillShow absoluteString]);
    if ([[urlWillShow scheme] isEqualToString:@"http"] || [[urlWillShow scheme] isEqualToString:@"https"]) {
        BOOL canLoad = [[UIApplication sharedApplication] canOpenURL:urlWillShow];
        if (canLoad == YES) {
            [[UIApplication sharedApplication] openURL:urlWillShow];
        }
    }
}

1 Ответ

0 голосов
/ 17 января 2012

Используйте [URL запроса] вместо [request mainDocumentURL]

Кроме того, вам необходимо сохранить (если не использовать ARC) urlWillShow, поскольку он, вероятно, будет выпущен до вызова вашего действия.

В качестве альтернативы, сделайте UIWebView IBOutlet и вместо сохранения urlWillShow в ivar, вы можете использовать [[self.webView request] URL] в вашем методе действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...