2015-10-06 25 views
9

Condivisione di immagini e URL utilizzando UIActivityViewController funziona bene per Facebook e Gmail, ma non ha funzionato per WhatsApp. Ecco il codice che ho usatoiOS condivisione immagine e URL a Whatsapp utilizzando UIActivityViewController

- (void)share { 
    UIScreen *screen = [UIScreen mainScreen]; 
    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; 
    UIGraphicsBeginImageContextWithOptions(screen.bounds.size, NO, 0); 
    [keyWindow drawViewHierarchyInRect:keyWindow.bounds afterScreenUpdates:YES]; 
    UIImage *snapShotImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    UIImage *imageToShare = snapShotImage; 

    NSURL *urlToShare = [NSURL URLWithString:@"http://google.com"]; 

    NSMutableArray *activityItems = [NSMutableArray arrayWithObjects:urlToShare, imageToShare, nil]; 

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil]; 
    activityViewController.excludedActivityTypes = @[ 
                UIActivityTypePrint, 
                UIActivityTypeCopyToPasteboard, 
                UIActivityTypeAssignToContact, 
                UIActivityTypeSaveToCameraRoll, 
                UIActivityTypeAddToReadingList, 
                UIActivityTypeAirDrop]; 


    [self presentViewController:activityViewController animated:YES completion:nil]; 
} 
  1. Ho perso qualcosa?
  2. Devo implementare attività personalizzate per whatsapp?

Nota: Incase di 2 abbiamo bisogno di trovare questa soluzione hiding whatsapp from activityviewcontroller prima di procedere

+0

Hai funzionato? – Subham93

+0

No, ancora bloccato. – Vashum

+0

Non ho escluso UIActivityTypeCopyToPasteboard. L'utente Atleast può copiarlo e incollarlo cosa è l'app se direct non funziona. – Subham93

risposta

7

politiche WhatsApp ha aggiornato il che non consente di testo semplice da condividere insieme a immagine o un URL o di un documento.

Se si sta tentando di condividere l'immagine e l'URL separatamente, prenderà l'ultimo oggetto dall'array e lo condividerà.

È possibile inviare l'immagine in questo modo:

NSMutableArray *activityItems= [NSMutableArray arrayWithObjects:img, nil]; 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePrint,               UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,               UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList,               UIActivityTypePostToFlickr,UIActivityTypePostToVimeo,               UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop];  
[self presentViewController:activityViewController animated:YES completion:nil]; 

Inoltre è necessario impostare l'autorizzazione nel file di Plist per iOS9

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>whatsapp</string> 
</array> 
+0

Qualsiasi opzione per condividere sia l'immagine che il testo, al momento non è possibile condividere sia l'immagine che il testo. –

+0

@JaywantKhedkar No, non è ancora possibile condividere immagini e testo. Tuttavia è possibile condividere un URL con del testo. Potrebbe essere possibile condividere l'URL dell'immagine se si ottiene l'immagine dal server insieme ad un testo personalizzato che si desidera condividere. – Jainam

+0

Grazie, proverò con la tua soluzione, spero che funzionerà per me. –

2

Non è possibile condividere immagini e testo sia in WhatsApp utilizzando UIActivityViewController. Solo una cosa che puoi pubblicare. Questa è l'immagine o il testo.

+1

Qualsiasi opzione per condividere sia l'immagine che il testo, voglio condividere sia l'immagine che il testo –