FBRequestDelegate仅适用于AppDelegate?

RMR*_*RMR 5 facebook uiapplicationdelegate ios facebook-ios-sdk

我想在一个FacebookFacade类中封装我所有的Facebook交互,以保持干净整洁.我有一个iOS SDK Facebook类的实例FacebookFacade.

我的问题是,当我在外观中进行Graph API调用时,例如:

    [self.facebook requestWithGraphPath:@"me" andDelegate:self]; 
Run Code Online (Sandbox Code Playgroud)

FBRequestDelegate被调用的唯一方法是requestLoading:没有别的.我尝试在其他地方放置类似的代码,比如在控制器和其他模型中,并且也没有FBRequestDelegate调用所有方法requestLoading:.

事实上,我可以获得其他FBRequestDelegate方法的唯一方法就是将我所有的Facebook逻辑放入其中AppDelegate并制作我AppDelegateFBRequestDelegate.

为什么会这样?我在这里错过了什么吗?我绝对不想使用AppDelegate因为我FBRequestDelegate不想混淆的目的AppDelegate.

谢谢.

ika*_*ius 7

今天下午有同样的问题.最后解决了它:你必须从MAIN线程中创建你的FBRequest.否则底层的NSURLConnect(在facebook对象中)永远不会启动.


con*_*are 1

确保当 facebook 在后台工作时,初始对象不会被释放。如果是,当 facebook 去调用委托并发现它为零或捕获错误时,它不会回调。