我有一个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加载?
iTunes store无法在模拟器中打开。在你的设备上运行
原因很简单,苹果不允许你在模拟器中打开它。
想象一下如果你可以在模拟器中打开它。如果你购买应用程序会发生什么?
我猜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应用程序