3

我正在开发的应用程序同时支持 iOS 5 和 6。对于 iOS 5,我使用 FBSession 对象获取访问令牌。同样的事情适用于 iOS 6,但不允许我使用设备上已经存在的 ACAccount,并且总是要求用户输入电子邮件/密码。

由于 Facebook 在几周内不会更新他们的 SDK 以支持此功能,而且我没有等待那么久的选项,我想知道如何使用帐户或社交框架获取访问令牌。

我花了几个小时寻找答案,但仍然没有运气。所以提前感谢大家。

编辑

这是使用 Facebook SDK 3.1+ 获取访问令牌的代码

[FBSession openActiveSessionWithReadPermissions:permissions
                                       allowLoginUI:YES
                                  completionHandler:^(FBSession *session, FBSessionState status, NSError *error){
                                      if (session.isOpen) {
                                          switch (status) {
                                              case FBSessionStateOpen:
                                                      // here you get the token
                                                      NSLog(@"%@", session.accessToken);
                                                  break;
                                              case FBSessionStateClosed:
                                              case FBSessionStateClosedLoginFailed:
                                                  [[FBSession activeSession] closeAndClearTokenInformation];
                                                  break;
                                              default:
                                                  break;
                                          } // switch
                                      }];
4

1 回答 1

2

Facebook SDK 3.1 已修复此问题。

于 2012-10-14T11:07:25.707 回答