2013-09-30 8 views
5

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.

+0

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. –

+0

@MingLi Tak. Jestem administratorem, a także wykonuję większość testów. Dziękuję za pomysł. – RileyE

+0

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ń. –

Odpowiedz

0

Sprawdź, developer.facebook.com, czy twoja aplikacja jest piaskownica. Przyznane NIE będzie, jeśli twoja aplikacja jest piaskownica, a twoje testowanie odbywa się za pomocą innego konta na Facebooku.

0

Co prawdopodobnie masz zrobić, to udać się do developers.facebook.com

przejdź do zakładki "Aplikacje" i wybierz swoją aplikację. Możliwe, że musisz dodać platformę iOS do swojej aplikacji. Przejdź do ustawień i kliknij "Dodaj platformę". Wybierz iOS i wpisz identyfikator pakietu aplikacji. Sprawdź, czy pakiet jest taki sam.

EDYCJA: Można również wydrukować błąd, który powraca. Być może żądasz niepoprawnych uprawnień lub uprawnień, których nie możesz odzyskać. Sprawdź to w zakładce "Status i przegląd".

setting iOS app on Facebook

Źródło: https://developers.facebook.com/docs/ios/getting-started/

Powiązane problemy