Xcode Open target=\u Safari中的空白链接

Xcode Open target=\u Safari中的空白链接,xcode,uiwebview,external-links,Xcode,Uiwebview,External Links,我对Xcode很陌生。。。我有一个单页iOS应用程序,它只有一个打开特定URL的UIWebView。我希望页面中有target=“\u blank”的链接可以在Safari中打开,而不是在应用程序中打开 有人能告诉我如何做到这一点吗?(我到处都搜索过)还告诉我哪些文件和代码放在哪里?非常感谢你 编辑 我在ViewController.m文件中实现了以下代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any addition

我对Xcode很陌生。。。我有一个单页iOS应用程序,它只有一个打开特定URL的UIWebView。我希望页面中有
target=“\u blank”
的链接可以在Safari中打开,而不是在应用程序中打开

有人能告诉我如何做到这一点吗?(我到处都搜索过)还告诉我哪些文件和代码放在哪里?非常感谢你

编辑

我在ViewController.m文件中实现了以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    // Add line below so that external links & PDFs will open in Safari.app
    webView.delegate = self;

    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com/"]]];

}

// Add section below so that external links & PDFs will open in Safari.app
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
        [[UIApplication sharedApplication] openURL:request.URL];
        return false;
    }
    return true;
}
但是对于行
webView.delegate=self我收到一条黄色警告,上面写着:
从不兼容的类型“UIWebViewController*const\u strong”分配给“id”


这个错误是什么?我如何在Xcode中修复它

也许下面的答案能解决你的问题,或者至少能给你一些想法,让你知道如何实现你的目标:
这就是我们解决问题的方法:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    first.delegate = (id)self;
                [first loadRequest:[NSURLRequest requestWithURL:[NSURL      URLWithString:@"http://www.website.com"]]];
}

// Add section below so that external links & PDFs will open in Safari.app
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request     navigationType:(UIWebViewNavigationType)navigationType {
    if (navigationType == UIWebViewNavigationTypeOther) {
        NSString *checkURL = @"http://www.linkyouwanttogotoviasafari.com";
        NSString *reqURL = request.URL.absoluteString;
        if ([reqURL isEqualToString:checkURL])
             {
                 [[UIApplication sharedApplication] openURL:request.URL];
            return false;
    }
        else {
            return true;
        }
    }
    return true;
}

上面我在原始问题中更新的代码对我有效,但你能帮我解决错误吗?webview的Delegate属性
webview。Delegate
的类型
id
,与作为ViewController的
self
的类型不匹配(在您的情况下,我认为类名是UIWebViewController,这是基于您的注释中的异常)。您可以通过一种或两种方式解决此问题:通过以下方式进行类型转换
Self
:webView.delegate=(id)Self;
或在类(.h文件)中声明delegate)
@interface ViewController:UIViewController
。如果这没有帮助,请告诉我。只有当您知道要在safari中打开的确切url,并且不处理任何设置了
target=“\u blank”
的常规链接时,这才是非常好的