如何在原生iOS Facebook应用中打开某人的个人资料页面及其应用范围ID

从Open Graph v2.0应用程序不再可以访问Facebook用户的实际ID,但必须处理应用程序范围ID.这意味着在iOS中,网址方案链接@“fb:// profile / 123456”不再有效,因为我们需要用户的实际ID.

有没有办法在原生iOS Facebook应用程序中打开只有应用程序范围ID的用户页面

这是我当前的代码,它在本机iOS Facebook应用程序中产生“找不到页面错误.

Nsstring *link = [Nsstring stringWithFormat:@"fb://profile/%@",fbID];
NSURL *facebookURL = [NSURL URLWithString:link];
if ([[UIApplication sharedApplication] canopenURL:facebookURL]) {
    [[UIApplication sharedApplication] openURL:facebookURL];
} else {
    Nsstring *link = [Nsstring stringWithFormat:@"http://facebook.com/%@",fbID];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];
}

解决方法

嗨基于这个 documentation.所以Facebook ID是应用范围的用户ID.因此,您也可以使用相同的URL方案.尝试使用此请求打开用户个人资料:
fb://profile?app_scoped_user_id=%@

关于这个请求也请考虑这个article.毕竟在我看来你应该使用Safari来显示用户个人资料.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...