2014-11-23 9 views
15

Ho usato il seguente codice per condividere l'immagine su WhatsApp ma non riesco a impostare il testo della didascalia usando il seguente codice.Come posso condividere immagine + testo didascalia (URL) su whatsapp da iphone?

Ho provato la proprietà di annotazione di UIDocumentInteractionController, ma nel modulo di sviluppo di WhatsApp non è stata specificata alcuna chiave per l'annotazione.

so che possiamo farlo utilizzando UIImageGraphicContext, ma ho bisogno di condividere URL, didascalia

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]; 
} 
+0

non vedo nulla evidente nel [WhatsApp FAQ per gli sviluppatori iOS] (http://www.whatsapp.com/faq/en/iphone/23559013). Potrebbe essere necessario [inviare un'e-mail all'assistenza prodotti all'indirizzo [email protected]] (http://www.whatsapp.com/contact/). –

+0

Grazie, ho già inviato una mail per supportare ma non ho potuto ottenere la loro risposta. finalmente ho fatto un trucco Ho condiviso un URL di immagine con il testo L'immagine SO sarà disponibile in quel percorso di immagine URL – Bhavik

risposta

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

Non è possibile pre-compilare didascalia, mentre la condivisione di immagini su WhatsApp. Facebook ha già deprecato questa funzionalità da Facebook, anche Instagram.

È possibile inviare un testo o un'immagine. Ma la didascalia pre-compilazione programmabile non è possibile.

Il codice nella domanda va bene per inviare un'immagine. Per poter inviare un testo in chiaro è possibile utilizzare il riferimento di link sottostante menzionato:

http://www.whatsapp.com/faq/en/iphone/23559013

NOTA: L'impostazione didascalia di programmazione non è possibile.

Spero che questo aiuti!

enter image description here

+0

Facebook e Twitter permettono di pubblicare url. Recuperano l'immagine e il titolo dall'URL. Come lo fai con whatsapp? – Luda

+0

Hai ragione su Fb e Twitter. Ma arrivando al testo/sottotitolo precompilato, Facebook, Instagram, WhatsApp non lo consente. Ho caricato uno screenshot per l'immagine whatsapp + condivisione didascalie. –

+0

E se si desidera semplicemente inviare un collegamento, è possibile farlo utilizzando l'url nella mia risposta. Ma assicurati che al posto di quell'URL condiviso, l'immagine e il titolo in quell'url non vengano popolati automaticamente. In whatsapp, l'URL condiviso verrà visualizzato solo come collegamento ipertestuale. Spero che questo abbia risposto alla tua domanda. –