无需在iOS应用程序中使用特定URL启动Safari应用程序

4
在我的iOS应用程序中,我只需启动Safari应用程序,而不是在Safari中打开某些特定的URL,可以通过以下方式实现:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

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

但我只需要启动 Safari 应用程序并打开上次打开的选项卡(以与我进入 iOS 应用程序之前相同的状态)。

欢迎任何建议和帮助。 谢谢!


你想启动Safari浏览器而无需输入任何网址吗? - Mtoklitz113
是的,我只想启动之前打开的Safari应用程序。 - Irfan
将字符串设置为“http://”,然后尝试? - Mtoklitz113
在Safari中,它会打开一个新的空白标签页,而不是在你关闭时的样子。 - Konstantin
但是当用户不打开任何URL时,该怎么打开Safari呢? - Konstantin
他的问题是:“我只需要启动Safari应用程序,而不是在Safari中打开某些特定的URL。”他没有打开任何链接,但他正在打开Safari。 - Mtoklitz113
2个回答

1
实际上,我们可以从Safari打开特定的应用程序。您需要为应用程序创建自定义URL方案,并像从Safari打开任何其他链接一样打开该链接。
例如,在Safari中打开自定义URL方案:myApp://,例如在按钮的onClick事件中。

0

Objective C

NSURL *url = [NSURL URLWithString:@"http://about:blank"];
if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}  

Swift 3.0

UIApplication.shared().openURL(URL(string: "http://about:blank")!)

希望这能对你有所帮助。
如果需要其他信息,请添加评论。

你刚才在评论中提到这个方法不起作用。现在它对你起作用了,你就删除了评论并写了同样的答案。 - Nitish
好的,这很公平。我会取消我的踩并点赞它。 - Nitish
@Irfan 如果有帮助的话,你可以将其标记为答案。 - Ketan P
1
只需要启动Safari应用程序并恢复上次打开的选项卡(处于我进入该iOS应用程序之前的相同状态),而不想打开空白页面。 - Irfan
@Irfan 好的,让我看看我能否解决这个问题。我已经起草并发布了答案,与此同时您正在编辑问题。这就是我没有阅读的原因。无论如何,让我看看我能否帮助您!!! - Ketan P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接