2016-01-07 2 views
0

Я использую этот код для обмена изображениями с Whatsapp из моего приложения iOS, но контроллер всегда входит в состояние else. Пожалуйста, дайте мне решение.Как отправить изображение или текст в whatsapp из моего приложения ios?

if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]]) 
{ 
    UIImage *iconImage = [UIImage imageNamed:dict23[@"profileimg"]]; 
    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]; 
} 

ответ

4

Используйте этот код для обмена только текст на Whats приложение.

NSString * msg = @"Hi! I am using app! download it at https://itunes.apple.com/us/app/google-search/id284815942?mt=8"; 

    msg = [msg stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@":" withString:@"%3A"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@"/" withString:@"%2F"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@"?" withString:@"%3F"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@"," withString:@"%2C"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@"=" withString:@"%3D"]; 
    msg = [msg stringByReplacingOccurrencesOfString:@"&" withString:@"%26"]; 

    NSString * urlWhats = [NSString stringWithFormat:@"whatsapp://send?text=%@",msg]; 
       NSURL * whatsappURL = [NSURL URLWithString:urlWhats]; 
    if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) 
    { 
      [[UIApplication sharedApplication] openURL: whatsappURL]; 
    } 
    else 
    { 
      UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"WhatsApp" message:@"Your device has no WhatsApp installed." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
        [alert show]; 
    } 

См эту ссылку для обмена изображениями WhatsApp image sharing iOS

+0

Я использую этот код, но всегда даю «У вашего устройства нет установленного WhatsApp». Сообщение ... –

+0

Затем вы запускаете его в симуляторе, вы должны запустить его на устройстве, на котором установлено приложение. –

0

Проверить эту ссылку и следуйте инструкциям, указанные в нем: https://ioscoderhub.wordpress.com/2014/05/01/how-can-i-share-image-from-iphone-application-to-whatsapp-line-wechat-programmatically/

Ниже приведен краткий код по ссылке выше ...

в ViewControl ler.h файл:

@interface ViewController : UIViewController 
{ 
} 

@property(nonatomic,retain) UIDocumentInteractionController *documentationInteractionController; 

в ViewController.m файле:

- (IBAction)bocClick:(UIButton *)sender { 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"]; //here i am fetched image path from document directory and convert it in to URL and use bellow 

    NSURL *imageFileURL =[NSURL fileURLWithPath:getImagePath]; 
    NSLog(@"imag %@",imageFileURL); 

    self.documentationInteractionController.delegate = self; 
    self.documentationInteractionController.UTI = @"net.whatsapp.image"; 
    self.documentationInteractionController = [self setupControllerWithURL:imageFileURL usingDelegate:self]; 
    [self.documentationInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; 
} 

- (UIDocumentInteractionController *) setupControllerWithURL: (NSURL*) fileURL 
               usingDelegate: (id) interactionDelegate { 

    self.documentationInteractionController = [UIDocumentInteractionController interactionControllerWithURL: fileURL]; 

    self.documentationInteractionController.delegate = interactionDelegate; 

    return self.documentationInteractionController; 
} 
0

Вы можете поделиться текстом с WhatsApp, как указано ниже:

NSString *msgStr = [NSString stringWithFormat:@"whatsapp://send?text=%@ ,msgString]; 
     NSURL * whatsappURL = [NSURL URLWithString:[msgStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
     if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) { 
      [[UIApplication sharedApplication] openURL: whatsappURL]; 
     } else { 
      UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"WhatsApp not installed." message:@"Your device has no WhatsApp installed." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
      [alert show]; 
     } 
+0

Используя этот код, я нахожу вывод «WhatsApp not installed», пожалуйста, скажите мне, что делает неправильно. –

+0

WhatsApp должен быть установлен в iPHONE. Это не будет работать в симуляторе –

+0

Да, сэр, я протестировал этот код на устройстве ios. И это устройство установит whatsApp. –

0
NSString * urlWhats = [NSString stringWithFormat:@"whatsapp://send?text=%@",@"YOUR STRING"]; 
    NSURL * whatsappURL = [NSURL URLWithString:[urlWhats stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) 
    { 
     [[UIApplication sharedApplication] openURL: whatsappURL]; 
    } 
    else 
    { 
     UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"WhatsApp not installed." message:@"Your device has WhatsApp installed." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alert show]; 
    } 

для получения более подробных знаний плз см ниже ссылки

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

+0

contoller всегда входить в другую часть –

+0

WhatsApp должен быть установлен в iPHONE. Это не будет работать в симуляторе –

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

  • Нет связанных вопросов^_^