Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FBRequestDelegate only works on AppDelegate?

I want to encapsulate all my Facebook interactions within a FacebookFacade class to keep things clean and tidy. I have an instance of the iOS SDK Facebook class within my FacebookFacade.

My problem is that when I make a Graph API call within the facade, such as:

    [self.facebook requestWithGraphPath:@"me" andDelegate:self]; 

The only method of FBRequestDelegate that gets called is requestLoading: and nothing else. I have tried putting similar code in other places, like in controllers and other models, and there too not all of the FBRequestDelegate methods get called, only requestLoading:.

In fact the only way I can get the other FBRequestDelegate methods to be called is to put all my Facebook logic in the AppDelegate and make my AppDelegate the FBRequestDelegate.

Why is this the case? Am I missing something here? I definitely do not want to use the AppDelegate as my FBRequestDelegate as I don't want to confuse the purpose of the AppDelegate.

Thanks.

like image 689
RMR Avatar asked Dec 29 '10 00:12

RMR


1 Answers

Had the same problem this afternoon. Finally solved it: You HAVE TO make your FBRequest from the MAIN thread. Otherwise underlying NSURLConnect (in facebook object) never starts.

like image 105
ikarius Avatar answered Oct 15 '22 11:10

ikarius