ios App:如何打开 facebook 链接并确保它是在 safari 而不是在本机应用程序中打开的?

Posted

技术标签:

【中文标题】ios App:如何打开 facebook 链接并确保它是在 safari 而不是在本机应用程序中打开的?【英文标题】:ios App: how to open facebook link and ensure it's opened in safari and not in native app? 【发布时间】:2014-02-09 13:34:07 【问题描述】:

在我的 ios 应用程序中,我想在单击按钮时在 Safari 浏览器中打开某个 Facebook 页面。我以这种方式在应用程序中执行此操作:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.facebook.com/myapp"]];

如果设备上未安装本机 facebook 应用程序,则此方法有效。但如果是,则打开 facebook 应用程序而不是 safari(它只显示应用程序中当前打开的任何内容,例如用户新闻源)。

我希望在任何情况下都在 safari 浏览器中打开 url(至少只要它不是关于篡改浏览器的越狱设备)。

我怎样才能做到这一点?

【问题讨论】:

嘿,这个问题有什么解决方案吗? 【参考方案1】:

我最终通过转发到 www.fb.com 而不是 www.facebook.com 解决了这个问题

【讨论】:

【参考方案2】:

这样做 -

NSString *facebookUrlString = @"http://www.facebook.com/facebook";

if ([[facebookUrlString pathComponents] count] > 0) 
    if ([[facebookUrlString pathComponents][1] isEqualToString:@"www.facebook.com"]) 
        NSMutableArray *pathComponents = [[facebookUrlString pathComponents] mutableCopy];
        [pathComponents replaceObjectAtIndex:1 withObject:@"facebook.com"];
        facebookUrlString = [NSString pathWithComponents:pathComponents];
    

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

【讨论】:

以上是关于ios App:如何打开 facebook 链接并确保它是在 safari 而不是在本机应用程序中打开的?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook Messenger,打开并完成任务后自动关闭链接

如何从 iOS 上的本机 Facebook 应用程序在 Safari 中打开移动 webapp 链接?

在特定页面上打开 facebook iOS 应用

深度链接 Facebook android / ios 问题

Facebook / twitter链接在ios ionic App中不起作用

如何在iOS中为twitter和Facebook实现通用深层链接?