0

我正在使用最新的 facebook SDK 为 IOS 开发应用程序。

关键是允许用户将消息和图像一起发布到他们的墙上。

我正在使用 FBSession.openActiveSessionWithReadPermission 建立连接,之后应用程序假设使用 FBNativeDialogs 发布。但我不太确定为什么我一直得到这个结果:http: //img90.imageshack.us/img90/4623/screenshot2013030510421.png

登录 UI 应该会询问我的权限,不是吗?相反,它只显示一个空白页。openActiveSession 的completionHandler 也没有被调用,表明loginUI 没有返回到我的应用程序。

我对facebook集成相当陌生,请帮助我。

我正在使用以下代码建立连接,捆绑 ID 和应用 ID 已保存到 facebook 应用控制台:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [FBSession openActiveSessionWithReadPermissions:nil
                                   allowLoginUI:YES
                              completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                  [self sessionStateChanged:session state:state error:error];
                              }];

}

这一步会导致上面显示的空白登录 UI,并且没有调用 completionHandler。

我还有其他步骤来获得发布权限并使用本机对话框发布消息,但由于我无法通过此步骤,我认为没有必要包含它们。

4

2 回答 2

0

检查了facebook设置,结果我什至没有登录,这么长时间我只是以为我登录了,这让我很痛苦......

于 2013-03-16T14:38:27.200 回答
0

在 Facebook 教程中 openActiveSessionWithReadPermissions:allowLoginUI:completionHandler: 在 openSession 方法的 appDelegate 中被调用,该方法由登录按钮触发。您从 viewDidLoad 中的视图控制器调用它。它确实应该由按钮触发,而不是视图加载。您是否尝试过类似的方法:

- (IBAction)performLogin:(id)sender{

SCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate openSession];

使用 openActiveSessionWithReadPermissions:在代表 openSession 方法中实现?此外,您可能想发布更多代码。

于 2013-03-05T03:49:37.577 回答