2015-10-06 10 views
9

Freigabe von Bild und URL mit UIActivityViewController funktioniert gut für Facebook und Google Mail aber nicht für WhatsApp funktioniert. Hier ist der Code iiOS Freigabe Bild und URL zu WhatsApp mit UIActivityViewController

verwendet
- (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. Habe ich etwas verpasst?
  2. Muss ich benutzerdefinierte Aktivitäten für WhatsApp implementieren?

Hinweis: Incase von 2 müssen wir diese hiding whatsapp from activityviewcontroller Lösung finden, bevor

+0

Haben Sie es funktioniert? – Subham93

+0

Nein, immer noch fest. – Vashum

+0

Ich habe UIActivityTypeCopyToPasteboard nicht ausgeschlossen. Atleast Benutzer können es kopieren und einfügen, was App ist, wenn Direct nicht funktioniert. – Subham93

Antwort

7

WhatsApp hat aktualisierte Richtlinien fortfahren, die nicht einfacher Text erlauben zusammen mit Bild oder URL oder Dokument geteilt werden.

Wenn Sie versuchen, Bild und URL separat zu teilen, nimmt es das letzte Objekt aus dem Array und teilt es.

Sie können das Bild auf diese Weise senden:

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]; 

Auch würden Sie brauchen Erlaubnis in Plist-Datei für iOS9 einstellen

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

Jede Option zum Teilen von Bild und Text kann derzeit weder Bild noch Text gemeinsam nutzen. –

+0

@JaywantKhedkar Nein, es ist noch NICHT möglich, Bild und Text zu teilen. Sie können jedoch eine URL mit etwas Text teilen. Möglicherweise können Sie die Bild-URL teilen, wenn Sie das Bild vom Server zusammen mit einem benutzerdefinierten Text erhalten, den Sie teilen möchten. – Jainam

+0

Vielen Dank, ich werde versuchen mit Ihrer Lösung hoffen, damit es für mich funktioniert. –

2

Sie nicht Bild und Text teilen können sowohl in WhatsApp mit UIActivityViewController. Einzige Sache, die du posten kannst. Das ist Bild oder Text.

+1

Jede Option, um Bild und Text zu teilen, möchte ich Bild und Text teilen –

Verwandte Themen