WICHTIG: Dies scheint für eine ältere Version des Facebook SDK (zum Beispiel 3.9.0) zuzutreffen. In 3.15.0 funktioniert es nicht mehr auf diese Weise. Du solltest [session.permissions]
verwenden, wie es Raphaël Agneau in seiner Antwort sagt.
Du musst die folgende Methode verwenden, weil [FBSession activeSession].permissions
anscheinend die angeforderten Berechtigungen zurückgibt, nicht die tatsächlichen.
[FBRequestConnection startWithGraphPath:@"/me/permissions"
completionHandler:^(FBRequestConnection *c, id result, NSError *error) {
if (!error) {
NSDictionary *permissions= [(NSArray *)[result data] objectAtIndex(0);
if (![permissions objectForKey:@"publish_actions"]) {
// Ok, fahre fort mit deiner Logik
} else {
// Berechtigung nicht gefunden, vielleicht anfordern (siehe unten)
}
} else {
// Behandele den Fehler
}
}];
Weitere Informationen findest du hier:
https://developers.facebook.com/docs/facebook-login/ios/v2.0#permissions-checking
Wenn die Berechtigung nicht gefunden wird, kannst du sie auf diese Weise anfordern:
[session requestNewPublishPermissions:PERMISSIONS_YOU_WANT
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession* session, NSError* error) {
// Versuche es erneut mit /me/permissions oben
}];