2013-07-06 11 views
7

Ho un codice per accedere a Facebook con il permesso 'publish_actions'. Ecco il frammento di codice:SDK iOS per Facebook: come gestire il pulsante SKIP quando si richiede publish_actions?

NSArray *facebookPermissions = [NSArray arrayWithObjects:@"publish_actions", nil]; 

[FBSession openActiveSessionWithPublishPermissions:[self facebookPermissions] 
            defaultAudience:FBSessionDefaultAudienceFriends 
             allowLoginUI:YES 
           completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
    NSLog(@">>> Permissions available: %@", FBSession.activeSession.permissions); 
}]; 

Quando viene eseguito questo metodo, l'utente verrà reindirizzato alla pagina di Safari Mobile Facebook e ha chiesto se Facebook è permesso di accedere al suo/la sua considerazione.

Sinottico1:

APPNAME would like to access your public profile and friend list. 
[CANCEL] [OK] 

Dopo aver premuto OK, dato che usiamo il metodo openActiveSessionWithPublishPermissions, apparirà una seconda pagina che chiede se Facebook è permesso di pubblicare cose a vostro nome.

Schermo 2:

APPNAME would like to post to your friends on your behalf. 
[AUDIENCE] [SKIP] [OK] 

La parte difficile è che, quando l'utente fa clic pulsante Salta, il registro nella richiamata ancora elencare 'publish_actions' come una delle autorizzazioni disponibili. Che non è corretto Anche lo error è nullo. Come posso rilevarlo correttamente?

Questo è il log:

2013-07-06 16:35:59.037 FbSandbox[56213:c07] >>> Permissions available: ("publish_actions") 

Grazie in anticipo!

risposta

3

È possibile convalidare le autorizzazioni accettate per callingme/permissions. Questo elencherà le autorizzazioni che l'utente ha permesso. Fai un riferimento incrociato a questo elenco con i permessi che chiedi e sarai in grado di scoprire quali sono stati accettati e quali sono stati saltati.

+0

Questa sembra essere la risposta. Design API assolutamente terribile. –

Problemi correlati