在Safari中打开Facebook网址而不是本机应用

时间:2013-03-12 01:38:36

标签: ios objective-c facebook

有没有办法在Safari中打开Facebook网址(例如http://www.facebook.com/facebook)而不是原生应用?我试图这样做:

NSURL *url = [NSURL URLWithString:@"http://www.facebook.com/facebook"];
[[UIApplication sharedApplication] openURL:url];

但是如果您尝试在Facebook域中打开网址,iOS会自动启动本机客户端(当然,如果已安装)。感谢。

2 个答案:

答案 0 :(得分:27)

好的,我想我找到了答案,你必须在网址中用“facebook.com”替换“www.facebook.com”。

这样的事情:

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]];

答案 1 :(得分:0)

将链接复制到Messenger应用,然后发送给自己。在Messenger应用程序上打开链接,然后单击“共享”,然后将其与Facebook应用程序一起打开