Для того, что позже станет игрой в слова, я пытаюсь получить очень основную информацию об игроке, используя социальную структуру:
- id
- Имя
- Пол
- расположение
(т. е. ничего чувствительного, как email
, и я не использую Facebook iOS SDK).
Итак, в Xcode 5.0.2 я создаю пустое приложение с одним представлением для iPhone и добавляю Social.framework
на вкладку Фазы сборки.
Затем я добавляю следующий код в ViewController.m:
#import "ViewController.h"
#import <Social/Social.h>
#import <Accounts/Accounts.h>
#define FB_APP_ID @"432298283565593"
//#define FB_APP_ID @"262571703638"
@interface ViewController ()
@property (strong, nonatomic) ACAccountStore *accountStore;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Facebook is available: %d", [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]);
[self getMyDetails];
}
- (void) getMyDetails {
if (!_accountStore) {
_accountStore = [[ACAccountStore alloc] init];
}
ACAccountType *facebookAccountType = [_accountStore
accountTypeWithAccountTypeIdentifier: ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{
ACFacebookAppIdKey: FB_APP_ID,
ACFacebookPermissionsKey: @[@"basic_info"]};
[_accountStore requestAccessToAccountsWithType:facebookAccountType
options:options
completion:^(BOOL granted, NSError *error)
{
if (granted) {
NSLog(@"Basic access granted");
} else {
NSLog(@"Basic access denied %@", error);
}
}];
}
@end
И создайте новое приложение Facebook, для которого я укажу de.afarber.MyFacebook
в качестве iOS Идентификатор пакета:
Наконец, в Apple iTunes Connect я создаю новый идентификатор приложения, а затем новое приложение (с фиктивным значком и даже двумя прикрепленными снимками экрана iPhone):
Моя вкладка Xcode Информация и остальная часть исходного кода не изменились:
ОБНОВЛЕНИЕ 2:
Я обновил исходный код в соответствии с полезными комментариями, спасибо.
Кроме того, у меня есть еще одна игра на Facebook, которая хорошо работает (уже 1-2 года) в течение Настольные и мобильные приложения Adobe AIR (но теперь я пытаюсь изучить нативное программирование для iOS), и я безуспешно пытался использовать его идентификатор 262571703638
.
И я добавил FacebookAppID
к MyFacebook-Info.plist
по предложению Mohit10 (мне кажется, что это нужно только для Facebook SDK, пока я пытаюсь использовать Social Framework - но это не помешает...)
Теперь я получаю вывод отладчика:
2013-12-31 11:08:07.584 MyFacebook[3009:70b] Facebook is available: 1
2013-12-31 11:08:07.964 MyFacebook[3009:3903] Basic access granted
Мне просто нужно выяснить, как теперь получить идентификатор, имя, пол, местоположение (и действительно ли для этого нужно basic_info
)...
SLRequest
без запроса разрешений... - person Alexander Farber   schedule 31.12.2013