Добавление like facebook в iOS

1 - Регистрируем Ваше приложение в facebook.

2 - Переходим во вкладку Настройки("Settings") и добавляем новое iOS application. Заполняем "Bundle ID", Bundle Identifier можем найти в Xcode во вкладке "General" или "Project tab". Включаем переключатель "Single Sign On" и для версий SDK выше 3.22 включаем также "Automatically Log App Events for In-App Purchases on iOS (Recommended)". Не забываем нажать на кнопку Сохранить изменения(save the changes)



3 - Добавляем FacebookSDK.framework в Ваш проект, либо подсасываем его через cacoapods (pod 'Facebook-iOS-SDK', '~> 3.22')

4 - Добавляем параметры от facebook приложения в .plist с настройками проекта в xcode:

  • Создаем новую строку с ключом "FacebookAppID" типом string и значеним идентификатора приложения из faceboo
  • Создаем новую строку с ключом "FacebookDisplayName" типом string и значеним названия приложения из facebook
  • Создаем новую строку с ключом "URL types" тип укажится автоматически, находим в нем массив с ключом "URL Schemes", в нем для ключа "Item 0" задаем значение нашего "FacebookAppID" с префиксом "fb"



5 - Добавляем в appDelegate.m:

#import <FacebookSDK/FacebookSDK.h>

/*...*/

- (void)applicationDidBecomeActive:(UIApplication *)application {

  // Logs 'install' and 'app activate' App Events.
  [FBAppEvents activateApp];
}

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    // attempt to extract a token from the url
    return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}


6 - добавляем в viewController.m:

#import <FacebookSDK/FacebookSDK.h>

/*...*/

FBLikeControl *like = [[FBLikeControl alloc] init];
like.objectID = @"http://shareitexampleapp.parseapp.com/photo1/";
//говорим, что текст будет в той же строке что и кнопка
[like setLikeControlAuxiliaryPosition:FBLikeControlAuxiliaryPositionInline];
//говорим, что кнопка будет слева от текста
[like setLikeControlHorizontalAlignment:FBLikeControlHorizontalAlignmentLeft];
//ставим цвет для текста
[like setForegroundColor:[UIColor blackColor]];
//выбираем один из трех типов, просто кнопка, кнопка с текстом, кнопка со счетчиком
[like setLikeControlStyle:FBLikeControlStyleStandard];
[self addSubview:like];