2013-04-23 2 views
7

Sto integrando Facebook sulla mia applicazione per condividere collegamenti di siti Web. Sto usando la finestra di dialogo Feed per realizzare questo e sto seguendo questo tutorial:
https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/.nil resultURL dopo aver pubblicato correttamente con FBWebDialogs (Facebook SDK 3.5)

Sono riuscito ad accedere e pubblicare su Facebook ma volevo aggiungere un messaggio quando il post ha avuto successo. Il tutorial include questo, ma ogni volta che pubblico, vedo "Pubblicazione di storie annullate dall'utente" nel Registro che è il messaggio che viene visualizzato quando l'utente fa clic su Annulla. Inoltre ho confermato con il debugger che il parametro resultURL ricevuto dal gestore è sempre nullo anche nei post di successo.

All'inizio pensavo fosse un problema di configurazione nel mio Facebook App, ma ho deciso di fare un test. Ho aperto il RPSSample fornito con il framework, aggiunto un gestore di completamento alla chiamata presentRequestsDialogModallyWithSession nel metodo clickInviteFriends nel controller di visualizzazione e stavo ottenendo un zero resultURL anche in post di successo.

Mi manca qualcosa?

So che la versione 3.5 SDK è molto nuovo, ma in base alla documentazione che dovrebbe essere sempre una valida resultURL param dopo la pubblicazione attraverso una finestra di dialogo Facebook Web, quindi non sono sicuro se è un bug o se mi' Mi manca qualche callback o gestore da qualche parte.

Nel caso, questa è la mia chiamata alla finestra di dialogo del feed . Ha piccole modifiche rispetto a quello che viene nel tutorial (in realtà è più semplice)

- (void)publish: (EntityToShare *)entityToShare { 
NSMutableDictionary *params = 
[NSMutableDictionary dictionaryWithObjectsAndKeys: 
entityToShare.link, @"link", 
nil]; 

// Invoke the dialog 
[FBWebDialogs presentFeedDialogModallyWithSession:nil 
             parameters:params 
              handler: 
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
    if (error) { 
     // Error launching the dialog or publishing a story. 
     NSLog(@"Error publishing story."); 
    } else { 
     if (result == FBWebDialogResultDialogNotCompleted) { 
      // User clicked the "x" icon 
      NSLog(@"User canceled story publishing."); 
     } else { 
      // Handle the publish feed callback 
      NSDictionary *urlParams = [self parseURLParams:[resultURL query]]; 
      if (![urlParams valueForKey:@"post_id"]) { 
       // User clicked the Cancel button 
       NSLog(@"User canceled story publishing."); 
      } else { 
       // User clicked the Share button 
       NSString *msg = [NSString stringWithFormat: 
            @"Posted story, id: %@", 
            [urlParams valueForKey:@"post_id"]]; 
       NSLog(@"%@", msg); 
       // Show the result in an alert 
       [[[UIAlertView alloc] initWithTitle:@"Result" 
              message:msg 
              delegate:nil 
            cancelButtonTitle:@"OK!" 
            otherButtonTitles:nil] 
        show]; 
      } 
     } 
    } 
}]; 
} 
+0

Avere lo stesso problema. –

risposta

9

Abbiamo una correzione per questo posto e sarà spinto fuori al più presto.

Modificato:

Questo è stato risolto nella versione 3.5.1 SDK verificarlo qui: https://developers.facebook.com/ios/

+0

Ho lo stesso problema di Diego. Quando penserai di averlo risolto? – user498388

+1

Ottimo! Grazie per aver risposto così velocemente. Questo mi stava facendo impazzire. Quindi, si tratta di un problema del server o c'è qualcosa di sbagliato nell'SDK? –

+1

Sto aspettando questo così urgente, è solo un bug API che non influirà sul mio codice nativo? – ValentiGoClimb