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

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

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

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

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

我怎样才能做到这一点?

【问题讨论】:

  • 嘿,这个问题有什么解决方案吗?

标签: ios facebook


【解决方案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]];
    

    【讨论】:

      猜你喜欢
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 2016-12-09
      • 2012-08-27
      • 1970-01-01
      • 2012-04-02
      • 2012-12-02
      相关资源
      最近更新 更多