2015-04-20 2 views
28

У меня есть googled, и я получаю некоторые решения, кажется, единственный возможный способ - это UIDocumentInteractionController. Я нашел результат, который мог бы поделиться text ТОЛЬКО, также нашел результат, который разделяет image ТОЛЬКО.iOS обмениваться имиджем и текстом с WhatsApp

Но то, что я хочу, это доля BOTH.

Я знаю, что этот вопрос может быть повторен, я просто хотел, чтобы было понятно, вот скриншот ...

WhatsApp share image + text

(Это совместно с Android)

+0

Вы нашли решение для этого? –

+0

@ VishnuKumar.S нет, я не нашел решение –

+0

Я также нахожу решение по этому вопросу. –

ответ

-4

You может использовать 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]; 
} 

Отметьте этот ответ f или ссылки: https://stackoverflow.com/a/20601051/2082569

Также вы можете ознакомиться с Socialize SDK, который также очень прост в использовании и интегрирован с различными социальными SDK. Проверьте документацию для обмена WhatsApp: http://socialize.github.io/socialize-sdk-ios/whatsapp.html

+4

Я не вижу свойство, которое устанавливает сообщение. Код выше, который я уже тестировал много раз, только может обмениваться изображением. Мой вопрос: ** КАК ДОБАВИТЬ ОБА В ОДНОЙ АКЦИИ ** –

-4

Пожалуйста, проверьте ниже проекта на 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; 
    } 

} 
+0

Вы пробовали использовать вышеприведенный код? –

+0

Усовершенствуйте свое описание –

-3

Хорошо один,

Как я знаю, что это не возможно в ИОС. Но у меня есть альтернативное решение для него, с помощью которого вы можете обмениваться текстом и изображением обоих. Но это сложно или я думаю, что это глупое решение.

  1. Создайте представление, в котором вы можете поместить свое изображение. Напишите текст на этом виде, что бы вы ни хотели писать.
  2. Сделайте снимок экрана этого вида с помощью кода. Вы получите изображение (изображение с изображением, где текст и изображение добавлены).
  3. Просто поделитесь этим изображением с помощью контроллера взаимодействия с документом.

Это всего лишь возможное решение, если вы хотите, чтобы текст и изображение были оба. Но если вы хотите поделиться ссылкой с текстом, чем. , , , , , ,

+0

Принимая во внимание стиль шрифта, возможную разницу, разрешение экрана, размеры шрифта, это не сработает, как ожидалось – Kuba

+0

Просто попробуйте со всеми возможными разрешениями. Вы найдете отличные результаты –

17

Вы можете использовать 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 default share method

+2

таким образом, строка textToShare доля в том, что приложение ... так что это не работает для меня ... –

+2

Его работа хорошая, но изображение только разделение неконтент. – vijay

+0

Можем ли мы использовать это с Swift 2? –

1

Что-то, о чем обычно не упоминалось, пользователю фактически не нужно обмениваться текстовым сообщением и изображением.

Если текст содержит URL, то приложение WhatsApp будет пытаться получить информацию о URL и показать PreView

Для того, чтобы это работало вам нужно сделать URL соответствовать, чтобы открыть график протокола. что в основном означает, что URL должен иметь метатеги в своей DOM, которые содержат соответствующие данные предварительного просмотра

+0

Но для этого пользователю необходимо будет интегрировать изображение в метатеги сайта. С помощью этого метода пользователь получит только изображение веб-сайта, а не фактический продукт в этом случае. –

Смежные вопросы