gpt4 book ai didi

iPhone:UIWebView打开外部浏览器后,返回app再次打开

转载 作者:行者123 更新时间:2023-11-29 11:13:07 24 4
gpt4 key购买 nike

我有一个 UIWebView它会加载一个 HTML 页面,其中包含一些指向 App Store 的链接(<a herf="http://itunes/bla/bla/bla"> 类型的链接)。

点击一个链接,打开外部 Safari,然后打开外部 App Store 应用程序并成功转到正确的页面。

如果您随后单击“主页”按钮并返回到跳板并再次单击应用程序,它将短暂打开到 UIWebView。然后再次跳转到外部 Safari 和外部 App Store 应用程序。

如果您再次返回应用程序,它会保留在应用程序中。

所以发生的事情是在打开来自 UIWebView 的外部浏览器链接后返回应用程序HTML 页面,然后将再次跳回到同一个链接。

有人知道是什么原因造成的吗?

我正在使用 Xcode 4.2.1,它发生在模拟器和实际设备(iPad 1 和 iOS 4.3)上。

编辑 - 解决方案:

好的,这是我必须做的来解决这个问题(感谢 Ben 在下面的回复让我看到了正确的区域):

这是我原来的方法:

- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (didLoad) { //Do not jump to URL when view first loads
return YES;
}

[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}

这是我固定的不一直跳转到URL的方法:

- (BOOL)webView:(UIWebView *)_webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (didShowURL) { //Do not jump to URL when returning to app
didShowURL = 0;
return NO;
}

if (didLoad) { //Do not jump to URL when view first loads
return YES;
}

didShowURL = 1;
[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}

最佳答案

我建议您对链接使用 itms-apps:// 协议(protocol)。这会将用户直接发送到 App Store 中的应用程序,而无需重定向。

NSURL *appStoreLink = [NSURL URLWithString:@"itms-apps://itunes.apple.com/us/app/instagram/id389801252?mt=8"];
[[UIApplication sharedApplication] openURL:appStoreLink];

关于iPhone:UIWebView打开外部浏览器后,返回app再次打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com