2016-04-20 13 views
3

Freigabe String + Bild über WhatsApp in iOS 9 + Xcode 7.3, Fehler bekommen. iOS 8 funktioniert perfekt. Code:Teilen String + Bild durch WhatsApp in einem iOS 9

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; 

    NSArray *excludeActivities = @[UIActivityTypePrint, 
            UIActivityTypeCopyToPasteboard, 
            UIActivityTypeAssignToContact, 
            UIActivityTypeSaveToCameraRoll, 
            UIActivityTypeAddToReadingList, 
            UIActivityTypeAirDrop]; 

    activityController.excludedActivityTypes = excludeActivities; 

    [activityController setValue:[NSString stringWithFormat:@"Test msg"] forKey:@"subject"]; 

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

enter image description here

Antwort

0

In iOS 9, müssen Sie diese Zeilen an Projekten .plist Datei hinzufügen:

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

überprüfen, nachdem diese in .plist hinzufügen.

+0

Ich habe bereits hinzugefügt, aber es funktioniert nicht ... – Mahipalsinh

+0

@Ronak Chaniyara ich versuche auch, dass aber es funktioniert nicht. – Raju

+0

check antwort hier kann es helfen [http://stackoverflow.com/a/36622573/5575752](http://stackoverflow.com/a/36622573/5575752) –

0

Ich löste mit diesem Code ausgegeben:

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController 
{ 
    return @""; 
} 

- (id)activityViewController:(UIActivityViewController)activityViewController itemsForActivityType:(NSString)activityType 
{ 

    if ([activityType isEqualToString:@"net.whatsapp.WhatsApp.ShareExtension"]) { 

     NSString *strShare = @“Test string”; 

     NSString *string = [NSString stringWithFormat:@"whatsapp://send?text=%@",strShare]; 
     NSURL *url = [NSURL URLWithString:[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
     [[UIApplication sharedApplication] openURL: url]; 

     return @""; 

    } 
    else 
    { 
     return sharingItems; 
    } 
} 
+0

Wie ruft man diese Methode beim Klicken auf die Schaltfläche auf? – Raju

+0

Diese beiden sind die Datenquellenmethode von UIActivityItemSource. Also, es ruft automatisch an. Bitte beziehen Sie sich auf diese URL: http://www.shipster.com/uactivityviewcontroller/ – Mahipalsinh

+0

aber ich möchte Aufruf auf Schaltfläche als wo ich Delegat oder Methode festlegen? – Raju

0

Sie Bild-URL hinzufügen können, weil Bildpräsentations- nicht möglich ist. Add url Bild wie dieses

NSArray *arrData = @[@"Post Title", @"imageURL"]; 
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:arrData applicationActivities:nil]; 
NSArray *excludeActivities = @[UIActivityTypeAirDrop, 
           UIActivityTypePrint, 
           UIActivityTypeAssignToContact, 
           UIActivityTypeSaveToCameraRoll, 
           UIActivityTypeAddToReadingList]; 
activityVC.excludedActivityTypes = excludeActivities; 

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