2012-08-24 27 views
10

there!通过简单的URL在原生Facebook IOS应用程序中打开Facebook页面Sheme issue

我想使用URL Scheme在本地IOS Facebook应用程序中打开我的Facebook页面(不是简介)。

我测试这个功能 - 在这个例子中FB://轮廓

它工作正常。

但是,当我试图打开我的Facebook页面 - 通过FB://页/ 141720395863506

它只是重定向我的Facebook应用程序,并没有任何反应,只需打开应用程序,并加载新闻提要。

请帮帮我。 我找不到任何官方Facebook开发人员指南的文档。 并且有一些问题: 是的,Facebook IOS App Url Sheme仍然支持这个功能。 而且我可能在这种情况下做错了?

此致敬礼!

+0

你的意思是说,你想看看你的FB墙上没有登录? – iMeMyself

+1

@iShru - 不,新版本的fb应用程序改变了url scemes,这些以前工作的链接不再起作用。我没有解决方案,但肯定想找到一个。 – jab11

回答

21

我相信我找到了一个解决方案......它目前在Facebook的ios 5.0.1 for iPhone下工作..还没有在iPad上尝试过。

的URL是FB://资料/ 132753734806

现在的重要组成部分,是数字。这与我的一个客户Charles Scott有关。然而,这不是他们的FBID或页面ID ..他们的页面ID是10150348920319807

所以你会认为它应该是fb:// profile/10150348920319807,但是这给了我一个错误。

这里是你如何得到正确的代码..点击任何页面的照片..这里是我的客户https://www.facebook.com/photo.php?fbid=10150348920319807&set=a.10150348920314807.356942.132753734806&type=1&theater

一个例子,如果你发现任何未在URL工作遵循FBID =的FBID ..你想要的号码就在& type = 1theater之前,但在最后一段时间之后。 132753734806是正确的代码打入后fb:// profile/

我希望这是有道理的......我知道零代码或编码,但这是困扰我这么多,我知道有一种方法。

现在,我想回答/工作的两个问题1.如果这可以在Android手机上工作2.为此URL创建一个工作的二维码,以便人们可以使用iOS设备进行扫描并自动打开它

祝你好运,我希望这可以帮助大家!

+0

非常好的发现!工作完美。 – RyanG

+0

现货。此外,您几乎可以在处理页面的每个页面中看到您需要的ID,例如编辑。 –

+0

+1优秀发现:) –

6

Alessandro的上面的答案是正确的,但那并没有真正为我工作..所以这是正确的方法。 我有一个URL https://www.facebook.com/pageName 现在,请访问: http://findmyfacebookid.com 粘贴您的网址,让Facebook的ID,然后使URL作为@ “FB://资料/的pageID”

它为我工作!

注意:检查本机应用程序是否安装在设备中,否则通过默认浏览器打开它。

if (![[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"fb://profile/pageId"]]) 
{    
    NSURL *url = [NSURL URLWithString:@"https://www.facebook.com/pageName"]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 
+0

截至目前,该域名不再解析为网页。 – pbhj

+0

https://findmyfbid.com/似乎是一个替代品 – jezmck

1

雨燕3.0/iOS10:

let fbUrl: NSURL = NSURL(string: "fb://profile/55555555555555")! 
let fbWebUrl: NSURL = NSURL(string: "https://facebook.com/yourFacebookPageName")! 

if (UIApplication.shared.canOpenURL(fbUrl as URL)) { 
    if #available(iOS 10.0, *) { 
     UIApplication.shared.open(fbUrl as URL, options: [:], completionHandler: nil) 
    } else { 
     // Fallback on earlier versions 
     UIApplication.shared.openURL(fbUrl as URL) 
    } 
} else { 
    if #available(iOS 10.0, *) { 
     UIApplication.shared.open(fbWebUrl as URL, options: [:], completionHandler: nil) 
    } else { 
     // Fallback on earlier versions 
     UIApplication.shared.openURL(fbWebUrl as URL) 
    } 
} 

“55555555555555” 应与Facebook的数字ID来替换你可以从http://findmyfbid.com得到和 “yourFacebookPageName” 与页面的用户名。

不要忘记在应用程序的Info.plist中启用fb url方案(在LSApplicationQueriesSchemes下)。

相关问题