Ios openURL未从应用程序打开safari

Ios openURL未从应用程序打开safari,ios,safari,uiapplication,Ios,Safari,Uiapplication,我必须澄清我知道如何从我们的iOS应用程序打开url,比如 [[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlAddress]]; 在我的代码中,我也这样做了。这是一个旧的应用程序,我必须立即升级此应用程序。我现在正在处理Xcode 7。它有一个从应用程序打开我的网站的代码。为此,我在下面为我的网站编写了代码。我也尝试了所有其他的主站点url,但仍然没有打开safari来打开这个页面 NSURL *u

我必须澄清我知道如何从我们的iOS应用程序打开url,比如

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlAddress]];
在我的代码中,我也这样做了。这是一个旧的应用程序,我必须立即升级此应用程序。我现在正在处理Xcode 7。它有一个从应用程序打开我的网站的代码。为此,我在下面为我的网站编写了代码。我也尝试了所有其他的主站点url,但仍然没有打开safari来打开这个页面

    NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
    if([[UIApplication sharedApplication] canOpenURL:url]) {
        NSLog(@"OK");
        [[UIApplication sharedApplication] openURL:url];
    } else {
        NSLog(@"Failed to open url: http://www.google.com");
    }
我已经打印了它,它在条件
canOpenURL:url
下运行,并且打印
OK
,但它不会重定向到safari。我已经检查了模拟器和设备,但结果是一样的。请帮忙。提前谢谢

==编辑=======

这可能有助于了解有关应用程序的更多信息

它是tabbarcontroller应用程序,所有视图都显示导航栏

上述代码处于按钮操作状态

-(IBAction)onSiteClick:(id)sender
{
        NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
        if([[UIApplication sharedApplication] canOpenURL:url]) {
            NSLog(@"OK");
            [[UIApplication sharedApplication] openURL:url];
        } else {
            NSLog(@"Failed to open url: http://www.google.com");
        }
}
如果我将此代码放在app delegate
didfishlaunchingwithoptions
方法中,那么它将打开safari并工作。但它对点击按钮不起作用。即使我在
viewDidLoad
中尝试了代码,并且
viewwillbeen
,它也不起作用

====编辑1====


我还没有找到解决这个问题的办法。所以现在我已经在应用程序中查看了一个web视图,并在应用程序中打开了链接。

这是iOS 9的一个新安全功能。您需要在plist中添加url

 <key>LSApplicationQueriesSchemes</key>
<array>
    <string>http://www.google.com</string>
</array>
LSApplicationQueriesSchemes
http://www.google.com
希望这能帮助您:

    <key>NSAppTransportSecurity</key>
    <dict>
     <!--Include to allow all connections -->
     <key>NSAllowsArbitraryLoads</key>
     <true/>
     </dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads

代码在Xcode 7、iOS 9.0、os x 10.11中运行良好


所以,我认为安全没有问题

@Max你的代码对我来说很好..希望问题在于你的网站url字符串?@Sujania这就是为什么我很困惑的原因。因为我已经在很多应用程序中使用了这段代码,并且我还使用LSApplicationQueriesSchemes和NSAppTransportSecurity的设置更新了一些应用程序,以允许http连接。我已经尝试了,但仍然存在相同的问题。我认为是自定义url从我们的应用程序打开另一个应用程序。