Compartir en redes sociales en IOS usando UIActivityViewController

Compartir en iOSApple provee la clase UIActivityViewController para permitir a las aplicaciones compartir contenido con otras, como lo pueden ser Facebook, Twitter, el correo electrónico, y demas opciones disponibles. La documentación oficial de la clase en inglés se puede ver en el siguiente enlace: https://developer.apple.com/library/ios/documentation/uikit/reference/
UIActivityViewController_Class/Reference/Reference.html

El método de la clase – (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities; nos permite definir una serie de objetos para compartir dentro de un array, estos pueden ser texto, imágenes o cualquier otro objeto válido. Por ejemplo, si queremos compartir una imagen y un mensaje de texto el código sería algo parecido a esto:

    UIActivityViewController *activityViewController;
    NSArray *items;
    NSString *mensaje;
    UIImage *imagen;

    imagen = [UIImage imageNamed: @"imagen.jpg"];

    mensaje = @"Hola mundo desde iOS";

    items = @[imagen, mensaje];

    activityViewController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities: nil ];

    activityViewController.excludedActivityTypes = [NSArray arrayWithObjects:UIActivityTypePrint, UIActivityTypeAssignToContact, nil];

    [self presentViewController:activityViewController animated:YES completion:nil];

En el código se define un UIActivityViewController que es el encargado de mostrar la vista con las opciones para compartir, un NSString y un UIImage para definir el texto y la imagen que se compartirán, y un NSArray para encapsular estos items.

Con la propiedad excludedActivityTypes se pueden bloquear las opciones para compartir que no se quieran mostrar. Por ejemplo, para eliminar Facebook de las opciones permitidas entonces se agrega UIActivityTypePostToFacebook

activityViewController.excludedActivityTypes = [NSArray arrayWithObjects:UIActivityTypePostToFacebook, nil];

Nota importante
Si las aplicación de Facebook, Twitter o cualquier otra no se encuentrán instaladas y correctamente configuradas en el dispositivo, entonces nunca aparecerán como opciones para compartir. Asegúrate de que las aplicaciones oficiales se encuentren correctamente instaladas y configuradas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *