如何在iOS上分享WhatsApp上的内容

时间:2014-10-31 11:14:05

标签: ios whatsapp

我想从我的应用程序中分享一个Url链接和一些短信到WhatsApp。我该如何分享内容?

我的代码只有文字

NSString * msg = @"Trueman India Magazine";
NSString * urlWhats = [NSString stringWithFormat:@"whatsapp://send?text=%@",msg];
NSURL * whatsappURL = [NSURL URLWithString:[urlWhats stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

if ([[UIApplication sharedApplication] canOpenURL: whatsappURL])
    {
        [[UIApplication sharedApplication] openURL: whatsappURL];
    }

但我如何在WhatsApp中分享我的网址链接?

3 个答案:

答案 0 :(得分:5)

我遇到了带有url字符串的whatsapp api的问题,特别是当它们包含带有多个字段的查询字符串时,例如http://example.com/foo?bar=foo&foo=bar。 打开应用程序时,我发现消息文本为空。

解决方案是使用CFString函数正确地百分比转义字符串。 请在此处查看Apple文档: https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFURLRef/index.html#//apple_ref/c/func/CFURLCreateStringByAddingPercentEscapes

但对于有这个问题的其他人来说,这是我的解决方案:

CFStringRef originalURLString = (__bridge CFStringRef)[NSString stringWithFormat:@"%@", @"http://example.com/foo?bar=foo&foo=bar"];
CFStringRef preprocessedURLString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, originalURLString, CFSTR(""), kCFStringEncodingUTF8);
NSString *urlString = (__bridge NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, preprocessedURLString, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8);
NSString *whatsAppURLString = [NSString stringWithFormat:@"whatsapp://send?text=%@", urlString];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:whatsAppURLString]];
  • 请注意在CFURLCreateStringByAddingPercentEscapes函数中使用要转义的字符。

答案 1 :(得分:1)

在文本中包含普通链接,例如:

NSString * msg = @"Trueman India Magazine http://www.truemanindiamagazine.com";

将链接发送给某人

后,将生成/发送该链接

答案 2 :(得分:0)

我们可以通过使用简单的jquery来实现这一点。这是文章链接http://www.stepblogging.com/how-to-share-web-article-on-whatsapp-using-jquery/

您可以在智能手机Demo Link

上查看演示