iOS : Ejercicio 22. Twitter & Facebook en nuestro iPhone

Blog >Lista ejercicios >  Ejercicio 22




Ejercicio 22 : Poniendo botones sociales Twitter & Facebook en nuestro iPhone 
 

Configuramos cuenta twitter en emulador de XCode, sino no funcionará, también insertamos una cuenta sino, tampoco funcionará. 

Creamos un nuevo proyecto : single view application. Ahí abrimos el storyboard y añadimos dos botones, yo he insertado dos imágenes de mi blog para ponerlas de background en los botones y además dos labels :


Twitter
Desde la versión 5 de iOS, Apple incluye la integración de Twitter en el sistema operativo de los dispositivos. 

Este framework proporciona una hoja para los tweets que tendremos que usar para que las aplicaciones desarrolladas envien tweets. 

Usaremos una instancia de TWTwitterComposerViewController, que tiene una interfad de usuario que permite escribir el mensaje a enviar, así como añadir la ubicación e incluso adjuntar alguna imagen. Para verificar si se ha llevado a cabo con éxito la operción, usaremos estos métodos, que son booleanos : 

  • setInitialText
  • addImage
  • TwiaddUrl
  Y en el caso de que queramos descartar la hoja de tweets usaremos el método dismissViewControllerAnimated

Establecemos las conexiones de los dos botones y los dos labels, además importamos la libreria de Twitter :






Y este es el código para escribir un tweet en twitter, he añadido una imágen al proyecto para twittear en twitter:

 

.h

//
//  ViewController.h
//  FacebookTwitter
//
//  Copyright (c) 2014 ___FULLUSERNAME___. All rights reserved.
//

#import 
#import 
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *labelDisponibleTwitter;
@property (weak, nonatomic) IBOutlet UILabel *labelDisponibleFacebook;
- (IBAction)botonTwitter:(id)sender;
- (IBAction)botonFacebook:(id)sender;
@end

.m
//
//  ViewController.m
//  TwitterFacebook
//
//  Created by makone moreno on 15/09/14.
//  Copyright (c) 2014 ___FULLUSERNAME___. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end

@implementation ViewController
@synthesize labelDisponibleFacebook;
@synthesize labelDisponibleTwitter;
- (void)viewDidLoad
{
    [super viewDidLoad];
    //Si se puede enviar Tweets
    if([TWTweetComposeViewController canSendTweet]){
        labelDisponibleTwitter.text=@"Iniciando servicio";
    }else{
        labelDisponibleTwitter.text=@"No se puede iniciar el servicio";
    }
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction)botonTwitter:(id)sender {  if ([TWTweetComposeViewController canSendTweet]==NO) {
    //MENSAJE NO DISPONIBLE
    UIAlertView *mensaje=[[UIAlertView alloc]initWithTitle:@"Servicio no disponible"
                                                   message:@"No se puede realizar la conexion"
                                                  delegate:nil
                                         cancelButtonTitle:@"Ok"
                                         otherButtonTitles:nil, nil];
    [mensaje show];
    //Salimos
    return;
}
    //Sino entra en el if, carga la hoja para escribir el tweet
TWTweetComposeViewController *HOJATWEET=[[TWTweetComposeViewController alloc] init];
    //AÑADO TEXTO
    [HOJATWEET setInitialText:@"Programando en iOS"];
    //AÑADO IMAGEN
    [HOJATWEET addImage:[UIImage imageNamed:@"logo_PURO.png"]];
    //AÑADO URL
    [HOJATWEET addURL:[NSURL URLWithString:@"http//:www.thebestandroide.blogspot.com.es"]];
    [self presentViewController:HOJATWEET animated:YES completion:^{
        //CODIGO A EJECUTAR EN CUANTO SE ENVIE EL TWEET
    }];
}
- (IBAction)botonFacebook:(id)sender {

}

@end



.m

Ahora al iniciar el emulador:










Facebook
El método es muy similar al de twitter, pero en este caso no hay que añadir ningún framework, aun así hay que configurar nuevamente el emulador para que tenga una cuenta en facebook, después sólo hay que rellenar el botón correspondiente a la conexión del botón de facebook,veamos como queda :

.m
- (IBAction)botonFacebook:(id)sender {
    //Si se puede enviar post en facebook
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]==NO){
        //MENSAJE NO DISPONIBLE
        UIAlertView *mensaje=[[UIAlertView alloc]initWithTitle:@"Servicio no disponible"
                                                       message:@"No se puede realizar la conexion"
                                                      delegate:nil
                                             cancelButtonTitle:@"Ok"
                                             otherButtonTitles:nil, nil];
        [mensaje show];
        //Salimos
        return;
    }
    SLComposeViewController *HOJAFACE =[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    //AÑADO TEXTO
    [HOJAFACE setInitialText:@"Programando en iOS"];
    //AÑADO IMAGEN
    [HOJAFACE addImage:[UIImage imageNamed:@"logo_PURO.png"]];
    //AÑADO URL
    [HOJAFACE addURL:[NSURL URLWithString:@"http//:www.thebestandroide.blogspot.com.es"]];
    [self presentViewController:HOJAFACE animated:YES completion:^{
        //codigo que se ejecuta segun se ha publicado
    }];
}








Compartir Compartir Compartir Compartir




Thebestandroide Indice Thebestandroide Ejercicio anterior Thebestandroide Siguiente ejercicio

0 comentarios:

Publicar un comentario