我的旧应用程序在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。
答案 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)