fb://个人资料/用户名在iOS中不起作用

时间:2015-02-20 08:51:25

标签: ios objective-c facebook

NSString *facebookUrl = [NSString stringWithFormat:@"http://www.facebook.com/%@", facebookUsername];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", @"fb://profile/", facebookUsername]];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
} else {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:facebookUrl]];

}

这在打开浏览器但无法打开iOS本机应用程序时有效。

在Android中,新版Facebook应用需要网址

fb://facewebmodal/f?href=http://www.facebook.com/username

但是在iOS中似乎没有像这样工作

1 个答案:

答案 0 :(得分:1)

以下是Facebook应用程序使用的一些方案,源链接上还有更多方案:

实施例

NSURL *url = [NSURL URLWithString:@"fb://profile/<id>"];
[[UIApplication sharedApplication] openURL:url];

方案

  

fb://个人资料 - 打开Facebook应用程序到用户的个人资料

     

fb:// friends - 打开Facebook应用到好友列表

     

fb:// notification - 打开Facebook应用程序到通知列表   (注意:此URL似乎存在错误。通知页面   打开。但是,它无法导航到其他任何地方   Facebook app)

     

fb:// feed - 将Facebook应用打开到新闻Feed

     

fb:// events - 打开Facebook应用程序到活动页面

     

fb:// requests - 打开Facebook应用程序到请求列表

     

fb:// notes - 打开Facebook应用程序到Notes页面

     

fb://相册 - 打开Facebook相册到相册列表

如果在打开此网址之前,您想要检查用户是否熟悉Facebook应用,您可以执行以下操作(如下面的其他答案中所述):

if ([[UIApplication sharedApplication] canOpenURL:nsurl]){
    [[UIApplication sharedApplication] openURL:nsurl];
}
else {
    //Open the url as usual
}

来源

http://wiki.akosma.com/IPhone_URL_Schemes#Facebook