Подтвердить что ты не робот

IOS обменивается имиджем и текстом с WhatsApp

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

Но то, что я хочу, это share BOTH.

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

WhatsApp share image + text

(Это доступно для Android)

4b9b3361

Ответ 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