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

问题描述 投票:10回答:2

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

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

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

ios objective-c facebook
2个回答
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]];

0
投票

复制链接到信使应用程序并发送给自己。打开信使应用程序上的链接,然后单击共享,将使用Facebook应用程序打开

© www.soinside.com 2019 - 2024. All rights reserved.