Ich versuche, Anmeldung mit ACAccountStore
zu testen, aber es geht nicht sehr gut.ACAccountStore requestAccessToAccountsWithType: Optionen: Vervollständigung: Rückgabe Null Fehler und gewährt als NEIN
Ich versuche wie so Zugriff auf das Konto zu gewinnen:
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);
}];
Allerdings sieht meine Ausgabe wie folgt:
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)
Ich habe sichergestellt, dass meine "Bundle-ID" auf Die developers.facebook-Seite und die Bundle Identifier
meiner Anwendung stimmen überein. Ich habe auch "Sandbox Mode" aktiviert. Das ist alles, was von mir verlangt wird, oder? Was läuft falsch?
Auch nur um mehr Informationen über die Anwendung zu geben, ist diese Anwendung nackten Knochen. Es ist eine leere Anwendung mit einem View-Controller, der eine Schaltfläche mit einem Ziel zeigt, auf der der Code läuft, den ich oben geschrieben habe. Das ist alles, was zur Anwendung gehört.
Ist das Konto, das in auf dem iPhone ein Admin/Entwickler/Tester Ihrer App angemeldet ist? Wenn der Sandbox-Modus aktiviert ist, können sich nur Benutzer mit diesen Rollen anmelden. –
@MingLi Ja. Ich bin der Admin und mache auch die Mehrheit der Tests. Vielen Dank für die Idee. – RileyE
Haben Sie einmal die Berechtigungen nicht zugelassen? Sie können überprüfen, indem Sie Einstellungen -> Facebook ... dann suchen Sie Ihre App dort. Wenn die Berechtigung nicht gewährt wird und kein Fehler vorliegt, bedeutet dies, dass ein Benutzer dies ausdrücklich verweigert hätte, indem er entweder im Berechtigungsdialog oder über die oben genannten Einstellungen auf "Nicht zulassen" geklickt hat. –