2012-08-25 21 views
8

Hoy comencé a usar Facebook SDK 3.0 for iOS y me di cuenta de que ya no existe la clase FBDialog. He buscado developers.facebook.com para ver algunos tutoriales sobre cómo puedo mostrar el cuadro de diálogo de feed con el nuevo sdk.Facebook iOS SDK 3.x feed dialog was gone?

Se utilizó para escribir:

[facebook dialog:@"feed" andParams:params andDelegate:self]; 

embargo, parece que todos los consejos que hablan de diálogos están relacionados con la edad en el SDK developers.facebook.com.

¿Alguien ha implementado el diálogo de alimentación con el nuevo SDK?

O, si construimos nuestro propio DialogViewController para representar todos los elementos de la interfaz de usuario como textFields, envíe el botón para hacer FBRequest?!

Respuesta

13

que he encontrado la respuesta aquí:
Feed Dialog - Facebook Developers

Utilizando el mismo nuevo 3.x SDK hay que añadir encabezados obsoletos a los marcos:

enter image description here

enter image description here

y el cambio :

#import <FacebookSDK/FacebookSDK.h>

a

#import "Facebook.h"


EDITAR (26/02/2013):

Gracias a Andreas, mencionó en el comentario, utilizando las nuevas SDK 3.2 no requiere incluyes clases en desuso más:

el apoyo de diálogo

Mejora Web: Esta versión incluye el soporte para la integración de diálogos Web, feed dialog y requests dialog, sin invocar encabezados obsoletos, por lo que es más limpio y más fácil de añadir diálogos en su aplicación.

Ejemplo:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
    @"", @"name", 
    @"", @"caption", 
    @"", @"description", 
    @"https://website.com/share", @"link", 
    @"http://website.com/iossdk_logo.png", @"picture", 
    nil]; 
[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 
       } 
      } 
     }]; 
+1

¿No hay una nueva forma de invocar un concepto de diálogo que no esté en desuso? Personalmente estoy bien con el masaje de mi propio código para trabajar con sus técnicas más nuevas, pero sí, todavía quiero obtener una vista previa del diálogo de lo que debe enviar mi aplicación. – Joey

+1

@Joey Facebook recomienda la manera que he descrito anteriormente. Creo que es la única forma. –

+0

¿Alguien sabe hasta cuándo estará disponible? – Oscar

3

Con Facebook SDK 3.2, que no es necesario importar cabeceras en desuso más. Los diálogos basados ​​en Web pueden presentarse con la clase FBWebDialogs:

[FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
    // ... 
}]; 
Cuestiones relacionadas