Assign your controller a delegate for webView.
Objective-c:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([request.URL isEqual:_url]) { return YES; }else{ [[UIApplication sharedApplication] openURL:request.URL]; return NO; }
}
On Swift, something like this, perhaps:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { if(!(request.URL!.isEqual((NSURL(string: url)!)))){ //Если это url не дефолтный (с которого мы запускаем webView), //то открыть через safari UIApplication.sharedApplication().openURL(request.URL!); return false; }else{ //Открыть страницу в webView return true } }
UPD:
let url = "https://yandex.ru/" func webView(sender: WebView!, didStartProvisionalLoadForFrame frame: WebFrame!){ if(!(webView.mainFrameURL.isEqual(url))){ NSWorkspace.sharedWorkspace().openURL(NSURL(string:webView.mainFrameURL)!) } }