1

我有一个UIWebView我想加载这个 URL

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

此链接适用于桌面版本的 Chrome 和 Safari,但不适用于 iOS 模拟器版本的 Safari(它显示“Safari 无法加载页面,因为地址无效”)。为了确保这不是由于我设置UIWebView不当而导致的问题,我尝试在 Web 视图中加载http://www.apple.com,并且效果很好。

另外,由于某种奇怪的原因,该链接曾经工作过一次,然后我重新启动了应用程序,但它没有工作。这种情况发生了好几次。

如何获取要加载的 URL?

4

2 回答 2

1

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

原因很简单,苹果不允许你在模拟器中打开它。

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

于 2013-06-17T03:14:46.930 回答
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 应用程序。

于 2013-06-17T06:15:57.327 回答