iOS的Facebook集成

我正在进行简单的Facebook整合,使用户可以在墙上张贴高分。 doodlejump处理这个方式是我的灵感。 我有它的function,但它不是很干净,我不知道该怎么做。

我按照http://developers.facebook.com/docs/guides/mobile上的说明启动并运行。 你做的第一件事情之一就是调用[facebook authorize:nil delegate:self] 。 之后你可以调用[facebook dialog:@"feed" andParams:params andDelegate:self]向用户墙贴一个贴子。 我有两个问题。

首先,当您调用授权时,它会退出您的应用程序,因为这是“One Single Sign-On”(OSS)的一部分,是Facebook所需的新方法。 那好吧,什么是不好的是,即使用户已经login,我的应用程序正在这样做。 我没有看到检查用户是否已经login的方法。

第二个问题是,它退出我的应用程序授权我的应用程序发布到Facebook的东西。 退出应用程序loginFacebook似乎是可以接受的。 大多数用户已经做到了这一点,所以没有什么大不了的。 但我的应用程序不应该只是为了获得用户授权才能发布内容而退出。 DoodleJump不这样做,但我不知道如何。

我试图挖掘旧post,但SDK已经改变,所以他们很多都不再有效。 谢谢。

基于最新的Facebook SDK(位于Github ),它的例子我已经确定这是预期的行为。

它是围绕着新的“快速应用切换”而构build的,所以看起来就是这样。

有点跛脚,但如果这是Facebook的工程师已经确定是最佳的过程那么就这样吧。

我遇到了同样的问题。 原来,这是因为我没有在info.plist中设置URL架构在fbYOUR_APP_ID的地方,确保你这样做。 你的plist文件应该说fb12345,然后它会识别出用户已经正确login。 那么offline_access将会因此而起作用

也许不是你正在寻找的答案,但应用程序“Hipstamatic”连接Facebook上的照片上传(我认为/希望是一个类似的过程墙壁张贴)从本身。

如果您向开发者发送电子邮件,他们是否能够引导您,这可能是值得的。

我认为他们通过在应用程序内调用一个iframe来解决这个问题,将应用程序连接到Facebook并执行Facebook活动,然后closures一次完成。

希望这可以帮助!

你要求什么权限? 如果你不要求offline_access框架将使用户每次login。

你也可以尝试ShareKit
这是一个iOS的开源库,共享链接,图像和更多。 这是非常简单的,也与Twitter和其他社交networking。

该网站还包含一些video教程和一些代码示例来整合Facebook API,检查这一点