Я пытаюсь использовать собственные (iOS 6-7x) библиотеки, чтобы авторизовать пользователя с Facebook из моего приложения. Я хотел бы передать токен авторизации на мой сервер, когда логин будет успешным.iOS Facebook родной логин (без Facebook SDK)
Код ниже отлично работает, если пользователь не установил учетную запись Facebook в ОС. Я получаю следующее сообщение об ошибке в этом случае:.
Ошибка Доменные = com.apple.accounts Код = 6 «Операция не может быть завершена (com.apple.accounts ошибка 6.)
-(void) initFacebookLogin
{
LRAppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (appDelegate.accountStore == nil)
appDelegate.accountStore = [[ACAccountStore alloc] init];
__block ACAccount *facebookAccount = nil;
ACAccountType *facebookAccountType = [appDelegate.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSArray * permissions = @[@"publish_stream", @"publish_actions", @"email"];
NSMutableDictionary *options = [[NSMutableDictionary alloc] initWithObjectsAndKeys:FACEBOOK_APP_ID, ACFacebookAppIdKey, permissions, ACFacebookPermissionsKey, ACFacebookAudienceOnlyMe, ACFacebookAudienceKey, nil];
[appDelegate.accountStore requestAccessToAccountsWithType:facebookAccountType
options: options
completion: ^(BOOL granted, NSError *error) {
if (granted)
{
NSArray *accounts = [appDelegate.accountStore accountsWithAccountType:facebookAccountType];
facebookAccount = [accounts lastObject];
ACAccountCredential* accountCredential = [facebookAccount credential];
NSString* token = [accountCredential oauthToken];
NSLog(@"token=%@", token);
}
else {
// WHAT DO I DO HERE???
// Error Domain=com.apple.accounts Code=6 "The operation couldn’t be completed. (com.apple.accounts error 6.)"
NSLog(@"%@", [error description]);
}
}];
}
мне еще нужно использовать Facebook SDK, чтобы попросить пользователя войти в систему делать? есть еще один родной библиотеки IOS я мог бы использовать, чтобы предложить пользователю настроить Facebook доступ в прошивкой?
Или есть лучший способ сделать оптимизированную проверку подлинности в Facebook (не спрашивая пользователя о входе в систему, если у него есть уже сделано в ОС)?
спасибо. Это не заставляет пользователя вводить учетные данные, если они уже сделали это в Facebook или другом приложении, используя собственный вход в FB? Это то, что я ищу. – dixkin