Xcode WebView.Открыть цель = "_ пустые" ссылки в Safari - PullRequest
0 голосов
/ 25 мая 2018

У меня есть небольшое приложение для iOS , которое использует WebView .Мне нужны ссылки, которые содержат target = "_blank" , чтобы открыть в Safari

Я нашел решение.Но это не работает для меня.

https://stackoverflow.com/a/15048074/4489534

Все ссылки теперь открываются в Safari, и все ссылки, содержащие "? OpenInSafari = true" тоже.Но внешние (загружаемые) файлы, такие как PDF , открываются в WebView .

Я не могу понять, почему условие не работает

- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest: (NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType {
        if (navigationType == UIWebViewNavigationTypeLinkClicked) {
            NSURL *url = [request URL];
            NSString *string = [url query];

            if ([string rangeOfString: @"openInSafari=true"].location != NSNotFound){
                [[UIApplication sharedApplication] openURL: url];
                NSLog(@"Open in Safari");
                return NO;
            }
        }
        NSLog(@"Open in WebView");
        return YES;

}

EDITED

Когда я нажимаю на ссылку, содержащую "? OpenInSafari = true" , я получаю "Открыть в Safari openInSafari = true"

Когда я нажимаю на обычную ссылку, я получаю "Open in Safari (null)"

Когда я нажимаю ссылку для скачивания в файле PDF, я получаю "Открыть в WebView product_id = 50 & download_id = 21 "

Когда я нажимаю, чтобы указать прямую ссылку на файл PDF, я получаю " Открыть в Safari (null) "

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