Facebook fbDidLogin 在 [facebook authorize:permissions] 之后被多次调用

Posted

技术标签:

【中文标题】Facebook fbDidLogin 在 [facebook authorize:permissions] 之后被多次调用【英文标题】:Facebook fbDidLogin gets called multiple times after [facebook authorize:permissions] 【发布时间】:2012-08-22 13:42:35 【问题描述】:

当我尝试使用我的应用程序(安装了 facebook ios 应用程序)登录 facebook 时遇到问题。一切正常,但委托方法上的 fbDidLogin 被调用了两次。

我调用了这个方法一次:

-(BOOL)checkForValidFBSessionAndAuthorize

    if (![facebook isSessionValid]) 
        NSArray *permissions = [[NSArray alloc] initWithObjects:
                                @"publish_stream",
                                nil];
        [facebook authorize:permissions];
        [permissions release];
    
    return [facebook isSessionValid];

然后我被重定向到 facebook 应用程序,然后我的应用程序被重新唤醒并调用“- (void)fbDidLogin”。 两次!

我在 Facebook 应用程序上的 iPhone App Store ID 设置不正确,因为我只是想先对其进行测试,但捆绑包 ID 是正确的。有什么想法吗? 谢谢!

【问题讨论】:

您在 appDelegate 中的 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation- (void)applicationDidBecomeActive:(UIApplication *)application 中做了什么? 【参考方案1】:

谢谢塞布拉西!你的猜测是正确的。 我在打电话

[[FacebookService singleton].facebook handleOpenURL:url];  

两次

 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

【讨论】:

以上是关于Facebook fbDidLogin 在 [facebook authorize:permissions] 之后被多次调用的主要内容,如果未能解决你的问题,请参考以下文章

Facebook api ios-sdk,代表不工作,没有调用 fbDidLogin

适用于 iOS 的 Facebook SDK,fbDidLogin 从未在多笔尖应用程序中调用

fbDidLogin 的问题从未调用过 iOS

IOS - 未调用 Facebook SDK fbDidLogin - 初始化视图控制器。

Facebook iOS sdk xcode 4.3/storyboards

在android中使用facebook登录[重复]