2014-11-23 9 views
15

Użyłem następującego kodu dla obrazu akcji na WhatsApp, ale nie mogę ustawić tekstu napisów za pomocą następującego kodu.Jak mogę udostępnić obraz + podpis tekstowy (URL) na WhatsApp z iPhone'a?

Próbowałem właściwości adnotacji UIDocumentInteractionController, ale w formularzu deweloperskim WhatsApp nie ma żadnego klucza do adnotacji.

wiem, że możemy to zrobić za pomocą UIImageGraphicContext, ale muszę podzielić URL jak podpis

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

nie widzę niczego oczywiste w [WhatsApp FAQ dla programistów iOS] (http://www.whatsapp.com/faq/en/iphone/23559013). Może być konieczne wysłanie wiadomości e-mail do działu obsługi produktu na [email protected] (http://www.whatsapp.com/contact/). –

+0

Dzięki, wysłałem już e-mail do wsparcia, ale nie mogłem uzyskać odpowiedzi. wreszcie zrobiłem lewę Udostępniłem adres URL obrazu z tekstem Obraz SO będzie dostępny na tej ścieżce adresu URL obrazu – Bhavik

Odpowiedz

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

Nie można wstępnie wypełnić podpis podczas dzielenia obrazu na WhatsApp. Facebook już zdezaktualizował tę funkcjonalność z Facebooka, Instagramu.

Możesz wysłać tekst lub obraz. Ale programowe wypełnianie napisów nie jest możliwe.

Kod w pytaniu wystarczy, aby wysłać zdjęcie. W celu wysłania zwykłego tekstu można użyć odnośnika poniżej wspomnianego linku:

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

Uwaga: Ustawienie podpis programowo nie jest możliwe.

Mam nadzieję, że to pomoże!

enter image description here

+0

Facebook i Twitter pozwalają na publikowanie adresu URL. Oni pobierają obraz i tytuł z adresu URL. Jak to zrobić z WhatsApp? – Luda

+0

Masz rację co do Fb i Twittera. Ale przejście do wcześniej wypełnionego tekstu/podpisu, Facebook, Instagram, WhatsApp na to nie pozwala. Przesłałem zrzut ekranu dla udostępnienia obrazu WhatsApp + z napisami. –

+0

A jeśli chcesz tylko wysłać łącze, możesz to zrobić, używając adresu URL w mojej odpowiedzi. Upewnij się jednak, że zamiast tego udostępnionego adresu URL obraz i tytuł w tym adresie URL nie zostaną automatycznie wypełnione. W WhatsApp, udostępniony adres URL pojawi się tylko jako hiperłącze. Mam nadzieję, że to odpowiedział na twoje pytanie. –