Facebook sdk 3.0 与 iOS 5 和 Xcode 4.2

Posted

技术标签:

【中文标题】Facebook sdk 3.0 与 iOS 5 和 Xcode 4.2【英文标题】:Facebook sdk 3.0 with iOS 5 and Xcode 4.2 【发布时间】:2012-12-29 02:41:42 【问题描述】:

我制作 ios 应用程序已有一段时间了,对此我很满意。我没有做的是在我的任何应用程序中添加 Facebook 连接。

我今天要找的是关于如何将 Facebook SDK 3.0 与运行 Xcode 4.2 的 iOS 5.0 集成的教程。在我的研究中,我发现 3.0 与 Xcode 4.2 兼容。我还没有准备好迁移到 iOS 6.0 和 Xcode 4.5。

所以我的问题是,是否有任何教程可以逐步指导我如何将 Facebook skd 3.0 与在 Xcode 4.2 上运行的 iOS 5 集成?

我一直在寻找这些规范的教程;我找到的只是 iOS 6 和 Facebook SDK 3.1 的教程和说明。

到目前为止我能做的是

从此链接下载 Facebook SDK 3.0 http://developers.facebook.com/ios/downloads/ 我注册了 Facebook 开发者账号并创建了一个示例项目 AppID 我尝试使用 Facebook sdk 编译一个全新的 Xcode 项目,但这就是我开始遇到问题的地方。

【问题讨论】:

【参考方案1】:

本教程展示了如何集成 Facebook SDK 3.0 来上传法规并将图片发布到用户墙。希望这会有所帮助:http://xcodenoobies.blogspot.com/2012/09/how-to-upload-photo-and-update-status.html

您可以通过一个 fql 请求检索您(或用户)的 Facebook 朋友的生日。

您可以在此处阅读有关 fql 的信息:http://developers.facebook.com/docs/reference/fql/

但这里有一些代码供参考(此代码在定义为 FBSessionDelegate 和 FBRequestDelegate 的类中)

- (void)request:(FBRequest *)request didLoad:(id)result 
    // result is a NSDictionary of your friends and their birthdays!


- (void)fbDidLogin 
    //some best practice boiler plate code for storing important stuff from fb
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

    //now load all my friend's birthdays
    NSMutableDictionary * params = 
                         [NSMutableDictionary dictionaryWithObjectsAndKeys:
                         @"select birthday, name, uid, pic_square from user where uid in (select uid2 from friend where uid1=me()) order by name", 
                         @"query",
                         nil];

    [self.facebook requestWithMethodName: @"fql.query" andParams: params andHttpMethod: @"POST" andDelegate: self];


- (void) loginWithFacebook 
    self.facebook = [[[Facebook alloc] initWithAppId:@"<your app id here>" andDelegate:self] autorelease];
    //IMPORTANT - you need to ask for permission for friend's birthdays
    [facebook authorize:[NSArray arrayWithObject:@"friends_birthday"]];

【讨论】:

感谢 MacNoob。这绝对比我一直盯着的信息量大。还有一个问题,你知道我可以连接到用户帐户并让他们的朋友生日的任何 Facebook iOS 教程吗?我正在制作的 iOS 应用程序需要这个 实际上此代码不适用于 Facebook SDK 3.0。我不得不用谷歌搜索并以不同的方式编写它。从 Facebook 网站本身developers.facebook.com/docs/howtos/run-fql-queries-ios-sdk 得到它。仍然感谢您指出我正确的教程!像魅力一样工作

以上是关于Facebook sdk 3.0 与 iOS 5 和 Xcode 4.2的主要内容,如果未能解决你的问题,请参考以下文章

FBSession 的 Facebook iOS SDK 3.0 登录教程问题

iOS Facebook SDK 3.0 登录未重定向到原始应用程序

Facebook iOS SDK 3.0 中的深度链接和 FBSessionDelegate

Facebook iOS SDK 3.0 - 会话未打开

无法在 Facebook iOS SDK 3.0 中重现教程示例“Scrumptious”

在 iOS Facebook SDK 3.0 上作为粉丝页面发布