我正在尝试与WhatsApp的api共享图像和文本,但我无法做到。要分享图像,我有以下代码:
if([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]])
{
NSURL *documentURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
NSURL *tempFile = [documentURL URLByAppendingPathComponent:@"whatsAppTmp.wai"];
NSData *imageData = UIImageJPEGRepresentation(imageFinal, 1.0);
[imageData writeToURL:tempFile options:NSDataWritingAtomic error:nil];
documentController = [UIDocumentInteractionController interactionControllerWithURL:tempFile];
documentController.UTI = @"net.whatsapp.image";
documentController.delegate = self;
[documentController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES];
}
这很好用,但是我没有找到与此图像共享文本的方法。我已经找到了如何在Instagram中使用相同的表单共享文本,就像那样
documentController.annotation = @{@"InstagramCaption": "text"};
但它不能用于在WhatsApp中共享图像,而且我不知道我必须在字典中使用哪个键才能使用它。我知道在Android中这可以使用Intent和额外的EXTRA_TEXT来完成,所以我想在iOS中也是可能的。
任何人都可以帮助我吗?
谢谢大家。
答案 0 :(得分:2)
您将无法在whatsapp中同时共享文字和图片。
如果您想共享文字,可以这样做 -
NSString * mymsg = @"this is test message";
NSString * urlString = [NSString stringWithFormat:@"whatsapp://send?text=%@",mymsg];
NSURL * url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
if ([[UIApplication sharedApplication] canOpenURL: url]) {
[[UIApplication sharedApplication] openURL: url];
} else {
//show alert
}