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 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...