1

我的旧应用程序在 iOS 8.2 之前运行良好。在一个按钮操作中,我必须使用打开 safariopenUrl,这对于使用 iOS 8.2 的设备运行良好。但是当我在 iOS 8.3 中运行它时,它不会打开 safari,当我尝试打印它时它会返回NO

iOS 8.3 对于 openUrl 方法有什么变化吗?

编辑1:

NSString *loginUrl=[object sighnUpUrl];

            NSLog(@"%d",[[UIApplication sharedApplication] openURL:[NSURL URLWithString:loginUrl]]);


            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:loginUrl]];

我只是使用我的网站登录页面的 url。

编辑2:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

我尝试了相同的代码并得到Failed to open url:http://www.stackoverflow.com.

编辑3:

NSURL *URL = [NSURL URLWithString:@"http://www.google.de"];

        if ([[UIApplication sharedApplication] canOpenURL:URL]) {
            [[UIApplication sharedApplication] openURL:URL];
        }

当我尝试相同的上述代码时,它进入了 if 块但仍然无法进入 safari。

注意:以上所有代码都适用于 iOS 8.2。

4

5 回答 5

2

这是要走的路:

NSURL *URL = [NSURL URLWithString:@"http://www.google.de"];

if ([[UIApplication sharedApplication] canOpenURL:URL]) {
    [[UIApplication sharedApplication] openURL:URL];
}
于 2015-05-04T10:00:07.070 回答
1

检查这个

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
于 2015-05-04T09:59:21.850 回答
0

请试试这个:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]]; 

编辑:

BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:yourURL];

尝试将您的 URL 放在这里并检查它是否返回 True 或 False。

于 2015-05-04T10:02:49.557 回答
0

我已经浏览了所有答案,我知道它们都会起作用。问题出在另一边。我在我的应用程序中使用移动设备管理。服务器端的一些人使用 MDM 禁用了 safari。不幸的是设备在 iOS 8.2 上它已启用,而对于 iOS 8.3 的设备它已被禁用,这让我认为这是一个 iOS 问题。因此,当使用 MDM 禁用 safari 时,它无法打开任何 url。我的错误。感谢您的所有回答。

于 2015-05-04T10:36:54.950 回答
0

ios8.3邮件收到.apk文件,打不开其他应用,可能是ios8.3的BUG

于 2015-06-24T08:38:32.670 回答