首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fbDidLogin从未调用过(facebook-ios-sdk)

fbDidLogin从未调用过(facebook-ios-sdk)
EN

Stack Overflow用户
提问于 2010-11-18 14:28:55
回答 9查看 7.7K关注 0票数 1

我使用弹出的Facebook对话框进行用户登录和在他/她的流上发布帖子

代码语言:javascript
复制
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: apiKey, @"api_key", nil];
[facebook dialog:@"stream.publish" andParams:params andDelegate:self];

它可以工作,但是当用户在fbDidLogin方法中登录时,永远不会调用。为什么?通过这种方式,我无法请求用户名,访问令牌始终为空。

编辑

10月份的facebook在一定程度上解决了我的问题。

EN

回答 9

Stack Overflow用户

发布于 2011-08-28 14:47:15

我只是有同样的问题,并解决了它。你需要实现

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

在应用程序委托类中,而不是自定义UIViewController或任何其他类。然后,将你的应用程序代表的电话发送给任何负责你Facebook的控制器。

票数 9
EN

Stack Overflow用户

发布于 2010-11-23 12:15:34

你注册你的应用程序来处理你的facebook应用程序id URL了吗?如果不是,在Facebook iOS SDK网站上有关于如何做的说明。您还需要告诉您的应用程序委托来处理对这个URL的调用。为此,将以下代码添加到应用程序委托实现中:

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [[controller facebook] handleOpenURL:url];
}

其中控制器facebook是Facebook类的实例。

票数 7
EN

Stack Overflow用户

发布于 2011-01-10 20:29:37

您需要在调用任何对话框方法之前设置facebook句柄的sessionDelegate成员变量。

代码语言:javascript
复制
    self.facebook.sessionDelegate = self;

此外,您还需要在对象中实现FBSessionDelegate回调。

我没有检查stream.publish,但这是为什么

代码语言:javascript
复制
[facebook dialog:@"oauth" andParams:params andDelegate:self];

是必要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4215797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档