从我的应用程序启动Facebook应用程序,并打开一个不是我的配置文件

时间:2011-10-21 18:39:06

标签: iphone objective-c ios facebook twitter

我正在开发一个应用程序,我需要放一个按钮,将用户重定向到某个Facebook页面。如果未安装facebook,通常点击此按钮应在Facebook应用程序或导航器中打开配置文件。另外,我想用推特页面做同样的事情。

我想知道如何做到这一点。

非常感谢你的时间。

4 个答案:

答案 0 :(得分:5)

这一切都归结为自定义网址方案。 Facbook是fb://所以如果您要打开fb://profile/zuck移动Safari会将您带到Facebook应用程序并加载Mark Zuckerbergs个人资料页面。目前新Facebook应用程序中存在一个错误,导致其无法正确加载配置文件。

要检查用户的设备是否可以响应网址方案,请查看this post

EDIT ::

至于Twitter,您可能需要检查一些不同的Twitter客户端,例如twitter://tweetbot://,然后再将用户踢到https://twitter.com/#!/<# User Name #>

答案 1 :(得分:4)

为了扩展@ SkylarSch的答案,这将尝试首先在本地Facebook应用程序中打开页面,否则它将在Mobile Safari中打开它:

NSURL *fbNativeAppURL = [NSURL URLWithString:@"fb://page/yourPageIDHere"];

// Check to make sure URL can be opened on device (whether the user has the Facebook app installed)
if ( [[UIApplication sharedApplication] canOpenURL:fbNativeAppURL])
{
    [[UIApplication sharedApplication] openURL:fbNativeAppURL];
}
// Otherwise, just open it in the browser
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com/yourPageIDHere"]];
}

答案 2 :(得分:4)

您可以通过获取该个人资料的Facebook ID来打开它。所以你可以找到Facebook ID为: 网址https://www.facebook.com/pageName 现在,转到:http://findmyfacebookid.com粘贴您的网址,获取Facebook ID,然后将网址设为@“fb:// profile / profileID”

为我工作!

答案 3 :(得分:1)

{edit}我明白您的意思{/ edit}

Facebook iPhone应用程序注册为fb://前缀的URL处理程序。我不确定这是否适用于所有版本,但我相信点击指向fb://profile/{page or profile id}的链接会在iphone应用中打开配置文件(如果已安装)。

我在this question上发现这个版本在版本3.4中是准确的(它目前在4.0上,但我想其中大部分仍然有效)