UIWebView不会加载适用于其他浏览器的URL

时间:2013-06-17 01:13:53

标签: ios cocoa-touch url uiwebview

我有UIWebView我要加载此网址

https://itunes.apple.com/us/album/blurred-lines-feat.-t.i.-pharrell/id621507456.

此链接适用于桌面版Chrome和Safari,但在iOS模拟器版本的Safari中不起作用(它表示“Safari无法加载页面,因为地址无效”)。为了确保我的UIWebView设置不正确导致这不是问题,我尝试在网络视图中加载http://www.apple.com,这样就可以了。

另外,由于一些奇怪的原因,链接工作了一次,然后我重新启动了应用程序,但它没有工作。那发生了好几次。

如何获取要加载的网址?

2 个答案:

答案 0 :(得分:1)

iTunes store无法在模拟器中打开。在您的设备上运行它。

简单的原因是Apple不允许您在Simulator中打开它。

想象一下,如果你可以在模拟器中打开它。如果您购买应用程序会发生什么?

答案 1 :(得分:0)

我猜itunes链接将被检测为应用而不是下降链接。因此,在iPhone UIWebView中不会加载URL。但是周围的工作就在那里。实施以下UIWebview delegate方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req navigationType:(UIWebViewNavigationType)navigationType {
    if([req.URL.absoluteString  hasPrefix:@"https://itunes.apple.com"]){
        [[UIApplication sharedApplication] openURL:req.URL];
        return NO;
    }
    return YES;
}

这种方法的唯一问题是,这会将正在运行的应用程序发送到后台并打开iOS的默认iTunes应用程序。