gpt4 book ai didi

ios - UIApplication-canOpenURL : -openURL: return misleading result

转载 作者:IT王子 更新时间:2023-10-29 08:21:04 36 4
gpt4 key购买 nike

从 iOS6 开始,我无法确定该应用程序是否可以启动 Safari。

如果设备上的 Safari 受到限制(设置>常规>限制),尝试打开 URL 时没有任何反应,也没有任何错误提示:

NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
[[UIApplication sharedApplication] canOpenURL:url]; // Returns YES
[[UIApplication sharedApplication] openURL:url]; // Returns YES

但是,Safari 不会启动,用户会想知道为什么我的按钮“坏了”。

这对我来说似乎是一个错误,所以我提交了雷达 #12449905。

还有其他方法可以解决这个问题吗?

最佳答案

如果这是一个 Apple 错误,那么看起来您要做的就是围绕它进行编程。一旦用户点击按钮,你总是可以这样写:

[self performSelector:@selector(notifyUserOfRestrictedAccess) withObject:self afterDelay:.5];

在应用委托(delegate)中,您可以设置一个属性,例如:

- (void)applicationWillResignActive:(UIApplication *)application {
self.openingExternalProgram = YES;
}

在你的 View Controller 中,创建这样的方法:

-(void) notifyUserOfRestrictedAccess {

if (!appDelegate.openingExternalProgram) {
// Message the user via UIAlertView about restricted Safari access
}
appDelegate.openingExternalProgram = NO;
}

我确信有更好的方法,但至少您不必等待 Apple。

关于ios - UIApplication-canOpenURL : -openURL: return misleading result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771177/

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