问题
I have used following code for share image on WhatsApp but I am unable to set the caption text using following code.
I have tried annotation property of UIDocumentInteractionController
,But in WhatsApp developer form there is not any key is specified for annotation.
I do know that we can do it by using UIImageGraphicContext
, But I need to share URL as caption
if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]])
{
NSString * savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wai"];
[UIImageJPEGRepresentation([UIImage imageNamed:@"Convenor- image-SURANA1.png"], 1.0) writeToFile:savePath atomically:YES];
_documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
_documentInteractionController.annotation = [NSDictionary dictionaryWithObject:@"wwww.google.com" forKey:@"whatsappCaption"];
_documentInteractionController.UTI = @"net.whatsapp.image";
_documentInteractionController.delegate = self;
[_documentInteractionController presentOpenInMenuFromRect:CGRectMake(0, 0, 0, 0) inView:self.view animated: YES];
} else {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Alert." message:@"Por favor, instale Whatsapp." delegate:nil cancelButtonTitle:@"Está bem" otherButtonTitles:nil];
[alert show];
}
回答1:
You cannot pre-fill caption while sharing image on whatsapp. Facebook has already deprecated this functionality from Facebook, Instagram also.
You can either send a text or an image. But programmatically pre-filling caption is not possible.
The code in the question is fine to send an image. In order to send a plain text you can use the reference of below mentioned link:
http://www.whatsapp.com/faq/en/iphone/23559013
NOTE: Setting caption programmatically is not possible.
Hope this helps!
回答2:
NSError *error = nil;
NSURL *documentURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:&error];
UIImage *image = [UIImage imageNamed:@"share.png"];
NSURL *tempFile = [documentURL URLByAppendingPathComponent:@"whatsAppTmp.wai"];
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSLog(@"%@",docDir);
NSLog(@"saving png");
NSString *pngFilePath = [NSString stringWithFormat:@"%@/test.png",docDir];
NSData *data1 = [NSData dataWithData:UIImageJPEGRepresentation(image,1.0)];
[data1 writeToFile:pngFilePath atomically:YES];
_documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:pngFilePath]];
_documentInteractionController.delegate = self;
_documentInteractionController.UTI = @"net.whatsapp.image";
[_documentInteractionController presentOpenInMenuFromRect:CGRectMake(0, 0, 0, 0) inView:self.view animated: YES];
来源:https://stackoverflow.com/questions/27089069/how-can-i-share-image-text-captionurl-on-whatsapp-from-iphone