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 从未在多笔尖应用程序中调用
IOS - 未调用 Facebook SDK fbDidLogin - 初始化视图控制器。