Acabo integrado de facebook en mi aplicación a través de ios 6, pero tengo un problema a la hora de publicar en mi muro. Simplemente dice «post a través de la aplicación de ios». Quiero decir «publicado a través de el nombre de la aplicación». He hecho una aplicación de identidad con facebook y tengo la app número que tiene asignado, pero no estoy seguro de cómo integrar esto con facebook integración.

A continuación es mi código. Si alguien pudiera ayudar, se agradece. Gracias!

{
NSString *message;
message= [[NSString alloc] initWithFormat:@"I've earned %@ points", [self retrieveScore]];

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [controller setInitialText:message];
    [controller addURL:[NSURL URLWithString:@"http://mysite"]];
    [self presentViewController:controller animated:YES completion:Nil];
    [message release];

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
        NSString *output= nil;
        switch (result) {
            case SLComposeViewControllerResultCancelled:
                output= @"Action Cancelled";
                NSLog (@"cancelled");
                break;
            case SLComposeViewControllerResultDone:
                output= @"Post Succesfull";
                NSLog (@"success");
                break;
            default:
                break;
        }
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert show];
        [alert release];
        [controller dismissViewControllerAnimated:YES completion:Nil];
    };
    controller.completionHandler =myBlock;
      }
  • Tengo una sensación de hundimiento que este no es compatible. Estoy muy interesado en saber si es o no, sin embargo. Parece que la otra opción es integrar el oficial de Facebook SDK para iOS en su aplicación, pero que se siente como un montón de trabajo en comparación con el uso social.marco.
  • De acuerdo. Se aleja de la simplicidad que social.marco se supone debe ser. Todo este alboroto acerca de la integración y, a continuación, dejar una tecla de función de marketing como la que sería bastante decepcionante
  • Sí, es decepcionante. Por otro lado, podría incluir el nombre de tu aplicación en tu mensaje (por ejemplo, después de que ‘he ganado puntos X’)? Tal vez se podría establecer la dirección URL para que apunte a su Tienda de aplicaciones imt:// enlace? Probablemente no sea tan grande como directamente a través de Facebook SDK, pero podría ser una buena solución.
  • De acuerdo. Mismo problema aquí. Muy decepcionante.
  • Por favor, ver mi respuesta actualizada de la solución. stackoverflow.com/a/12605241/662605
InformationsquelleAutor Alex G | 2012-09-22

3 Comentarios

  1. 70

    ACTUALIZACIÓN – se puede hacer

    Por lo que el Digg para iOS aplicación es capaz de compartir a Facebook sin necesidad de utilizar el marco de Cuentas para obtener los permisos de usuario… Que utilizan UIActivityViewController y tiene el post aparecen como «a través de Digg», me puse en contacto con alguien de Digg y me dijeron que es un proceso manual, usted debe tener su app de iOS, publicado en la App Store de Apple y también tienen su Facebook aplicación aceptado y publicado en el Facebook de la App Store.
    A continuación, Facebook puede procesar manualmente la vinculación de los dos en este camino.

    La obvia desventaja de esto es que UIActivityViewController significaba que puede compartir desde la aplicación sin ningún integración con Facebook, sin necesidad de una Facebook app… Pero para llegar «a través de Su Nombre de Aplicación» se necesita un Facebook de la aplicación que Facebook va a aprobar en su propia app store, una vez que todo está vivo, tendrás que contactar con el desarrollador de las relaciones de enlace de arriba.

    Tenga en cuenta que el resto de mi respuesta (mi respuesta anterior es correcta, la solución es un proceso manual que Facebook puede hacer por usted, su iOS código no debería verse afectado.


    Anterior Respuesta y solución

    El nativo de Facebook integración desea en realidad es el compositor de controlador de vista. Esto se obtiene mediante el uso de la SLComposeViewController clase con el tipo de servicio SLServiceTypeFacebook.

    Esta clase sólo proporciona una forma de comunicación y como un aviso, de que son el uno para confirmar cualquier publicaciones en el muro pulsando el botón de enviar. Este punto de vista controlador es propiedad del sistema iOS, no de su aplicación. Y por la interacción con este componer controlador de vista de que son en realidad eludir su aplicación.

    Los usuarios como para hacer esto, porque les da seguridad.

    A menos que su aplicación funciona sólo por un más profundo, de dos vías de Facebook integración debe utilizar el SLComposeViewController (integración más profunda en el sentido de su aplicación necesita tu lista de amigos o existente publicaciones en el muro, álbumes, etc…).

    En orden para que un post procedentes de la aplicación para que aparezca en Facebook con el «a través de xxxx» y no «a través de iOS», que necesita para interactuar con Facebook a través de la SLRequest clase. Para hacer esto usted debe también actuar en reciprocidad con la Account.framework además Social.framework.

    Se asemeja a la anterior Facebook SDK de iOS utilizado anteriormente (y todavía se puede utilizar) en términos de la creación, una referencia a las Cuentas de la tienda de el dispositivo, que la solicitud de Facebook y las cuentas de enviar a tu Facebook ID de la aplicación y una serie de permisos.

    Si se concede a continuación, puede interactuar con el Facebook Graph API a través de la SLRequest clase. Mediante la publicación en tu muro en esta casa usted tendrá la deseada «a través de xxx».

    El uso de este favor, consulte el documentación para SLRequest.

    Por favor, tenga en cuenta que usted es responsable de crear su propia componer ver en este caso.

    Por supuesto, usted puede inspirar a sí mismo de la interfaz de usuario nativa, también echa un vistazo a iPhoto es la aplicación de iOS, intente compartir a Facebook con la aplicación, usted se dará cuenta de que las solicitudes de permiso para interactuar con su Facebook cuenta (algo que no ocurre cuando se usa SLComposeViewController), presenta algo muy cercano a la SLComposeViewController para Facebook post de componer.

    Pero si se mira de cerca se dará cuenta de que no es el mismo. Esto también va para Twitter y su aplicación nativa vs integración nativa. Ellos tienen su propia componer punto de vista, es realmente interesante notar que el uso de los nativos de iOS integración (la Manzana de marcos). Sabemos esto porque el ir a Ajustes > Privacidad > en Twitter se puede ver la aplicación Twitter es una autorizados aplicación a través de la cuenta de Twitter(s) en el dispositivo.

    Mismo va para el Facebook.

    Si no obtiene el permiso, a continuación, usted no tiene ninguna manera de la publicación de tu aplicación – también conocido como «a través de myApp».

    Siento defraudado, yo también había estado buscando una manera de integrar una ACAccount en el SLComposeViewController, pero no podía encontrar la manera. Lo cual es una lástima… porque la interfaz de usuario nativa es dulce.

    • Gracias por la gran explicación de Daniel. La verdad es siempre una profundidad de respuesta y yo aceptaría sin embargo docchang ha proporcionado una solución con un ejemplo. +1 y gracias de nuevo
    • Muy bonito ideas, muchas Gracias Daniel.
    • Realmente Impresionante Información detallada que usted ha compartido aquí…
    • Aquí está El enlace Donde se puede encontrar la forma de Utilizar SLRequest Along With The Marco de Cuenta`……. techotopia.com/index.php/…
    • Estás en lo cierto ! Este es un gran avance ! Voy a mirar en esto más !
    • Daniel, gracias por la info. Sin embargo, la DIGG aplicación parece para llevar a cabo utilizando el built-in componer ver y tener «a través de DIGG» aparecen en sus puestos de trabajo. Alguna idea sobre cómo se podría hacer esto? [que había eliminado esta forma de pensar que yo había leído mal tu post, pero entonces se dio cuenta de que el comentario fue siendo pertinente]
    • Pensé que estaba loco responder a nadie ! No sé cómo lo hicieron, pero estoy bastante seguro de que es todo acerca de la configuración de tu aplicación correctamente en Facebook.com y lo que es un público de aplicación es importante.
    • he estado tratando de determinar si el uso de FBNativeDialog con un FBSession para que su aplicación explícitamente ha conseguido los permisos de usuario a través de la OS podría hacer el truco. no parece un dev construir. pero me pregunto si podría funcionar para una tienda de aplicaciones de construir como por Vilem la respuesta a continuación. la parte difícil es la prueba de que la teoría.
    • No, no tiene que ver con permisos, yo no conceder DIGG cualquier permisos, no aparece en mi iOS Facebook configuración o en mi facebook de aplicaciones en línea. Creo que es más para hacer con tu Facebook app ser o no ser en el nuevo Facebook de la App Store.
    • a la derecha. parece que digg encontrado alguna manera de hacerlo sin necesidad de pedir permisos, pero yo tenía la esperanza de que el uso de un fbsession abierto por la aplicación puede permitir que para el mismo resultado. estamos dispuestos a pedir a los usuarios para los permisos, por lo que este habría adecuado a nosotros. sólo queremos aprovechar la incorporada en el controlador de componer.
    • Gracias por la actualización, Daniel!
    • Así que esto definitivamente se parece a la respuesta, pero Facebook hace que sea muy difícil encontrar alguna manera de ponerme en contacto con alguien en relaciones de desarrollador directamente. Algunos consejos sobre la mejor manera de ir sobre esto?
    • Esto es realmente extraño…debe haber una manera más sencilla …
    • ¿Alguien sabe cómo contactar con Facebook para configurar esto?
    • Yo soy la adscripción de @lehn0058 , ¿Puede alguien por favor decirme cómo contactar con Facebook developer relación con el enlace de arriba. Estoy tratando de conseguir de ninguna otra manera, pero no es capaz de encontrar la manera de contactar con ellos. A los que realmente necesitan esta cosa suceda. Por favor, ayudar.

  2. 13

    Terminé usando un custom Facebook marco con el nuevo Facebook SDK 3.1.
    Facebook Componer Ver

    El original está aquí: facebook componer ver. He corregido un par de advertencias menores y actualizado con el nuevo FB de SDK 3.1.

    Uso:

    DEFacebookComposeViewControllerCompletionHandler __block completionHandler = ^(DEFacebookComposeViewControllerResult result) {
        [self dismissViewControllerAnimated:YES completion:nil];
        switch (result) {
            case DEFacebookComposeViewControllerResultCancelled:
                NSLog(@"Facebook Result: Cancelled");
                break;
            case DEFacebookComposeViewControllerResultDone:
                NSLog(@"Facebook Result: Sent");
                break;
        }
    };
    DEFacebookComposeViewController * compose = [[DEFacebookComposeViewController alloc] init];
    [compose setInitialText:self.shareText];
    [compose addImage:self.shareImage];
    [compose addURL:self.shareURL];
    [compose setCompletionHandler:completionHandler];
    [self presentViewController:compose animated:YES completion:^{}];

    De instalación:

    1. Abrir el proyecto y hacer una compilación limpia.
    2. Ir a la carpeta $PROJECT_FOLDER\build\Debug-iphonesimulator y arrastre tanto de la FBComposeView.framework & FBComposeView.bundle en el proyecto.

    Nota: asegúrese de utilizar los de la Debug-iphonesimulator. Es la grasa binario.
    Compartir con iOS 6.0 nativa de Facebook de la integración:

    • ¿Cómo podemos usar el custom Facebook marco que es de git en nuestros propios proyectos?
    • Acabo de añadir las instrucciones de instalación.
    • DL el facebook SDK aquí: developers.facebook.com/ios/downloads
    • Por favor, ver mi respuesta actualizada de la solución. stackoverflow.com/a/12605241/662605
    • He añadido facebookid en plist. Pero cuando quiero compartir la imagen en facebook que dice a través de ios. Es su nada de lo que me estoy perdiendo.
  3. 3

    Hemos resuelto un problema similar con iOS 5 integración de Twitter, y el resultado es:

    Al publicar en Twitter con un dev construir o a través del simulador que casi siempre se muestran en Twitter como «a través de iOS». Una vez que su aplicación es aprobada y después de la AppStore construir se debe mostrar como el publicado por «YourAppName en iOS» con un enlace a las aplicaciones de la appstore página.

    fuente original (ShareKit tema de discusión)

    Supongo que Apple hace lo mismo con Facebook y otros servicios sociales.

    EDIT: por desgracia, esto sólo trabajó con Twitter.marco. Creo que la mejor explicación y la respuesta es la de Daniel de arriba. Tal vez es tiempo de radar, así que Apple sabe, ¿qué queremos.

    Ejemplos de cómo utilizar SLRequest con Facebook están en de este MODO la pregunta

    EDIT2: presentó un radar de Error ID# 12980058. Esperemos que escuchar…

    • Vilem, fue esta solución confirmado como realmente funciona? Estamos trabajando en este tema, y quisiera evitar tener que rejigger nuestra participación. Gracias!
    • He comprobado mi app finalmente. Desafortunadamente, no se, ver a editar.
    • Gracias. Es bueno saber.
    • Por favor, ver mi respuesta actualizada de la solución. stackoverflow.com/a/12605241/662605

Dejar respuesta

Please enter your comment!
Please enter your name here