在iOS 8.3中,openUrl没有重定向到safari

时间:2015-05-04 09:55:15

标签: ios ios8.3

我的旧应用程序在iOS 8.2之前正常运行。在一个按钮操作中,我必须使用openUrl 打开safari ,这对于使用iOS 8.2的设备工作正常。但是当我在iOS 8.3中运行它然后它没有打开safari时,当我尝试打印它然后它返回NO

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

修改1:

NSString *loginUrl=[object sighnUpUrl];

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


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

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

编辑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。

5 个答案:

答案 0 :(得分:2)

这是要走的路:

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

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

答案 1 :(得分:1)

检查

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

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

答案 2 :(得分:0)

请试试这个:

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

修改

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

尝试将您的网址放在此处&检查它是返回True还是False。

答案 3 :(得分:0)

我已经完成了所有的答案,我知道所有的答案都会有效。问题出在另一边。我在我的应用程序中使用移动设备管理。来自服务器端的一个已经使用MDM禁用了safari。不幸的是,对于iOS 8.2的设备它启用了,对于iOS 8.3的设备,它被禁用,这使我认为它是一个iOS问题。所以当使用MDM禁用safari时,它无法打开任何URL。我的坏。谢谢你的所有答案。

答案 4 :(得分:0)

通过电子邮件收到ios8.3 .apk文件,无法打开其他应用程序,可能是BUG ios8.3的