Great update!
If you see this, it means that now you do not need to fix (or hack) anything in order to support (for example, a Facebook page or any Open Graph object) in your application. With the latest release for Facebook iOS SDK (FacebookSDK.framework) they support as a button, however (while I am writing this update) in beta , but we have what we need for a long time, thanks Facebook.
Here's a direct link to the change log and a similar button and documentation yes.
Solution: [RECOMMENDED]
The Like button can be used as a Facebook page or any Open Graph object and can link to a URL or ID. Here is what the code looks like:
FBLikeControl *like = [[FBLikeControl alloc] init]; like.objectID = @"http://shareitexampleapp.parseapp.com/photo1/"; [self addSubview:like];

(Source: Documentation ).
Old school way [NOT RECOMMENDED]
Finally, I can solve my problem, I put the solution steps, so it really helps someone who is looking for this material,
Some things you might need (from my question)
- I use the FBConnect and Facebook SDK at the same time in my application.
- Both work fine, FBConnect is only for
FacebookLikeView - you need to replace the FBRequest class with a different name with FBConnect so that it does not contradict the latest SDK. - Still needed for an easy and quick solution, as this is not an ideal solution.
So let's go
How do I know if a user liked this page or not?
You need to use the Graph API and check if the user likes. Here is an example.
https://graph.facebook.com/{USER_ID}/likes/{PAGE_ID}
If the user liked the page in question, it will return JSON like this if the user likes the page.
{ "data": [ { "name": "SomeCafe", "category": "Restaurant/cafe", "id": "someIdWillCome", "created_time": "2013-05-07T12:32:00+0000" } ], "paging": { "next": "https://graph.facebook.com/me/likes/someIdWillCome?format=json&limit=5000&offset=5000&__after_id=someIdWillCome" } }
And so, if the user does not like the page:
{ "data": [ ] }
Here's the user documentation like it: https://developers.facebook.com/docs/reference/api/user/#likes
Implementation
1) Add FacebookLikeView as indicated in its docs.
2) I need to implement one HTTP request to call the above URL in order to check the current status of this page, since I could not get it from FacebookLikeView . Remember that you need to execute a GET request along with access_token.
3) Check the answer (next to the example above) and do whatever you need!
What is it!
Here are the solutions for FacebookLikeView problems that I encountered
1) FacebookLikeView gone somewhere?
This is because a popover comment hides it! below is the solution
In the FacebookLikeView.m class FacebookLikeView.m find - (void)didObserveFacebookEvent:(NSString *)fbEvent And add these lines to the end,
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0f) {
2) FacebookLikeView shows UIKeyboard !!
This is due to the focus of the comment text box after the page, below is the solution for this.
- (void) keyboardWasShown:(NSNotification *)notification {
Added notification in viewDidLoad to the class where you execute
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardWillShowNotification object:nil];
This will undo the entire keyboard visible from this particular view, in my case I would not become a UITextField where I need a Facebook Like button, so if your case matters, make sure.
3) The problem of slow loading depends on many functions of the Facebook server, Internet connection or something else, so I added a download indicator to it. It takes some time, but I work as I want!
This will allow me, like / unlike the Facebook page, also to find out the current status of this particular user so that I can decide what to do!
Finally, thanks to everyone who checked this problem and will answer me! Appreciated! :)