IOS обменивается имиджем и текстом с WhatsApp
У меня есть googled и получаю некоторые решения, кажется, единственный возможный путь - через UIDocumentInteractionController
. Я нашел результат, который позволяет обмениваться текстом ТОЛЬКО, также нашел результат, в котором есть только изображение.
Но то, что я хочу, это share BOTH.
Я знаю, что этот вопрос может быть дублирован, я просто хотел прояснить ситуацию, вот скриншот...
![WhatsApp share image + text]()
(Это доступно для Android)
Ответы
Ответ 1
Вы можете использовать UIActivityViewController для обмена изображениями, текстом или URL-адресом. Вот небольшой пример:
NSString *textToShare = @"Enter your text to be shared";
UIImage * image = [UIImage imageNamed:@"imagename"];
NSArray *objectsToShare = @[textToShare, image];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
Запустите указанный выше код и выберите приложение, которое вы хотите использовать, если вы хотите, чтобы вы могли совместно использовать другие среды. Это яблоко '
s по умолчанию
Ответ 2
то, что обычно не упоминается, пользователю фактически не нужно обмениваться текстовым сообщением и изображением.
Если ваш текст содержит URL-адрес, то приложение whatsapp попытается получить информацию об URL-адресе и показать предварительный просмотр
Чтобы это сработало, вам нужно сделать URL-адрес совместимым с открытым графическим протоколом. что в основном означает, что URL-адрес должен иметь метатеги в своем DOM, которые содержат соответствующие данные предварительного просмотра.
Ответ 3
Пожалуйста, проверьте проект ниже на github
https://github.com/salesawagner/SharingWhatsApp
typedef enum{
kSendText = 0,
kSendImage,
kSendTextWithImage,
kSendAudio,
kSendCancel
} options;
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
case kSendText:
[[WASWhatsAppUtil getInstance] sendText:@"Text"];
break;
case kSendImage:
[[WASWhatsAppUtil getInstance] sendImage:[UIImage imageNamed:@"image.jpg"] inView:self.view];
break;
case kSendTextWithImage:
NSLog(@"Send text with image");
case kSendAudio:
[[WASWhatsAppUtil getInstance] sendAudioinView:self.view];
break;
default:
NSLog(@"Cancel send");
break;
}
}
Ответ 4
Хороший,
Как я знаю, это невозможно в ios.
Но у меня есть альтернативное решение для него, с помощью которого вы можете обмениваться текстом и изображением обоих. Но это сложно или я думаю, что это глупое решение.
- Создайте представление, в которое вы можете поместить свое изображение. Напишите текст в этом представлении независимо от того, что вы хотите записать.
- Сделайте снимок экрана этого вида с помощью кода. Вы получите изображение (изображение с изображением, где текст и изображение добавлены).
- Просто поделитесь этим изображением с помощью контроллера взаимодействия с документом.
Это просто возможное решение, если вы хотите, чтобы текст и изображение были оба. Но если вы хотите поделиться ссылкой с текстом, чем.,,,.
Ответ 5
Вы можете использовать UIDocumentInteractionController для этой цели, например:
@property (retain) UIDocumentInteractionController * documentInteractionController;
if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]]){
UIImage * iconImage = [UIImage imageNamed:@"YOUR IMAGE"];
NSString * savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wai"];
[UIImageJPEGRepresentation(iconImage, 1.0) writeToFile:savePath atomically:YES];
_documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
_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:@"WhatsApp not installed." message:@"Your device has no WhatsApp installed." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
Отметьте этот ответ для справки: fooobar.com/info/142899/...
Также вы можете посмотреть Socialize SDK, который также очень прост в использовании и интегрируется с различными социальными SDK. Проверьте эту документацию для обмена Whatsapp: http://socialize.github.io/socialize-sdk-ios/whatsapp.html