Próbuję przetestować logowanie z ACAccountStore
, ale nie idzie mu to zbyt dobrze.ACAccountStore requestAccessToAccountsWithType: options: completion: return nil error i przyznany jako NO
Próbuję uzyskać dostęp do konta tak:
ACAccountStore *store = [ACAccountStore new];
ACAccountType *accountType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{
ACFacebookAppIdKey:@"12345678987654",
ACFacebookPermissionsKey:@[@"email"]
};
[store requestAccessToAccountsWithType:accountType
options:options
completion:^(BOOL granted, NSError *error)
{
NSLog(@"Access Granted: %d", granted);
NSLog(@"Error: %@", error);
}];
Jednak moje wyjście wygląda następująco:
2013-09-30 16:58:08.084 Application[1009:1103] Access Granted: 0
2013-09-30 16:58:08.090 Application[1009:1103] Error: (null)
mam zapewnione, że moja „Bundle ID” na Witryna developers.facebook i moja aplikacja Bundle Identifier
pasują do siebie. Ustawiłem też "Tryb piaskownicy", aby włączyć. To wszystko, co jest wymagane ode mnie, prawda? Co idzie źle?
Również, aby podać więcej informacji o aplikacji, ta aplikacja jest szkieletem. Jest to pusta aplikacja z jednym kontrolerem widoku, który pokazuje przycisk z jednym celem, który uruchamia kod, który napisałem powyżej. To wszystko, co dotyczy aplikacji.
Czy rachunek, który jest zalogowany na iPhone administrator/programista/tester aplikacji? Jeśli tryb piaskownicy jest "włączony", mogą logować się tylko użytkownicy z tymi rolami. –
@MingLi Tak. Jestem administratorem, a także wykonuję większość testów. Dziękuję za pomysł. – RileyE
Czy odrzuciłeś uprawnienia raz? Możesz to sprawdzić, przechodząc Ustawienia -> Facebook ... i znajdź tam swoją aplikację. Jeśli uprawnienie nie zostanie przyznane i nie wystąpi błąd, oznacza to, że użytkownik jawnie zabroniłby tego, dotykając opcji "Nie zezwalaj" w oknie dialogowym uprawnień lub za pośrednictwem wyżej wymienionego panelu ustawień. –