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 android / ios 问题