Xcode, Condividi Rapidamente su Facebook, Twitter, eMail con una riga!

“Share”, un termine che oramai tutti conosciamo.

Se vogliamo condividere dei contenuti direttamente dalla nostra applicazione, da iOS 6 in poi è possibile utilizzare “UIActivityViewController” che non è altro che una preimpostata finestrella che comparirà alla pressione di un pulsante o richiamando un metodo. Nessuna libreria o framework aggiuntivo: tutto nativo! Di seguito i vari utilizzi.

Il codice è semplice:

UIActivityViewController *shareView = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObject:@"Testo da Aggiungere allo Share"] applicationActivities:nil];
[self presentViewController:shareView animated:YES completion:nil];

Con queste due semplici righe risparmieremo ORE INTERE di programmazione, soprattutto perché l’aggiunta di servizi aggiuntivi è piuttosto semplice, anche se non ne parlerò in questo articolo.

Per avere un’azione da poter collegare ad un pulsante creiamo un semplice metodo:

- (IBAction)share
{
    NSString *testo = [NSString stringWithFormat:@"%@\n%@",@"Cosa vogliamo inserire nella condivisione",@"Il nome della nostra app o altre info"];
    
    UIActivityViewController *shareView = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObject:testo] applicationActivities:nil];
    [self presentViewController:shareView animated:YES completion:nil];
}

In questo modo potremo modificare il testo da inviare uguale per tutti i servizi.

Se vogliamo poi creare un metodo generico che inserisca un testo differente per ogni pulsante premuto allora possiamo cavarcela così:

- (void)shareConTesto:(NSString*)testo
{
    UIActivityViewController *shareView = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObject:testo] applicationActivities:nil];
    [self presentViewController:shareView animated:YES completion:nil];
}

In questo caso basterà richiamare il metodo dalla stessa pagina e aggiungere il testo da mostrare:

[self shareConTesto:@”Testo da mostrare nella nostra condivisione”];

Molto semplice, non trovate? Ve lo compatto ulteriormente: potete usare anche solo una linea, dentro ai metodi, per ottenere lo stesso risultato:

[self presentViewController:[[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObject:testo] applicationActivities:nil] animated:YES completion:nil];

Una sola riga ci può aiutare notevolmente!

Annunci

, , , , , , ,

  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: