ios – 使用WhatsApp URL方案将文本与文本一起发送

前端之家收集整理的这篇文章主要介绍了ios – 使用WhatsApp URL方案将文本与文本一起发送前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用WhatsApp的自定义URL方案发送一些带有URL的文本.显然只有一个有效的参数用于此目的:文本:
NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];

当我想将自己的URL附加到该文本时,就会出现问题.我选择使用以下代码对其进行编码:

NSString *encodedURLString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                                                                                  NULL,(CFStringRef)urlAbsoluteString,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kcfStringEncodingUTF8 ));

该URL与文本一起发送到WhatsApp,但不会在WhatsApp的一侧解码:

有任何想法吗?谢谢!

解决方法

您正确地接近它,但似乎URL正在进行双重编码.确保消息和URL仅编码一次.

使用相同的编码方法,您可以这样做:

NSString *urlAbsoluteString = @"Hello World! http://yayvisitmysiteplease.com?funky=parameter&stuff";
NSString *encodedURLString = ...

这应该给你执行的URL:

whatsapp://send?text=Hello%20World%21%20http%3A%2F%2Fyayvisitmysiteplease.com%3Ffunky%3Dparameter%26stuff

这就像你期望的那样进入WhatsApp. (我证实了双重确定.)

猜你在找的iOS相关文章