2016-04-20 74 views
3

通过iOS 9 + Xcode 7.3中的WhatsApp分享字符串+图像,出现错误。 iOS 8完美运行。 代码:通过iOS 9中的WhatsApp分享字符串+图像

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

回答

0

iOS 9,你需要在项目上添加此行.plist文件:

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

入住.plist添加此之后。

+0

我已经加入,但它不工作... – Mahipalsinh

+0

@Ronak Chaniyara我也尝试,但它不工作。 – Raju

+0

在这里查看答案可能有帮助[http://stackoverflow.com/a/36622573/5575752](http://stackoverflow.com/a/36622573/5575752) –

0

我解决了使用此代码发行:

- (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

如何在按钮单击时调用此方法? – Raju

+0

这两个是UIActivityItemSource的Datasource方法。所以,它会自动调用。请参考这个网址:http://nshipster.com/uiactivityviewcontroller/ – Mahipalsinh

+0

但我想在按钮上比我设置委托或方法? – Raju

0

您可以添加图片的网址,因为共享图像是不可能的。 添加图片的URL这样

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