无法在Whatsapp上分享文字

时间:2013-12-26 14:45:37

标签: ios objective-c whatsapp

我正在使用以下代码在我的iOS应用上分享WhatsApp上的文字。

        NSString *textToSend = [NSString stringWithFormat:@"whatsapp://send?text=%@", self.theTextView.text];
        NSURL *whatsappURL = [NSURL URLWithString:textToSend];

        if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
            [[UIApplication sharedApplication] openURL: whatsappURL];
        }else{
            [[[UIAlertView alloc] initWithTitle:nil message:@"Whatsapp not isntalled on this device! Please install first." delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil]show];
        }

这不能按预期工作。

如果我喜欢解释here,它可以正常工作。

        NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];

2 个答案:

答案 0 :(得分:8)

Matteo Pacini你的答案不正确,

你必须添加PercentEscapes(stringByAddingPercentEscapesUsingEncoding:)NOT REPLACE PercentEscapes(stringByReplacingPercentEscapesUsingEncoding:

string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

答案 1 :(得分:2)

我打赌 self.theTextView.text 没有获得网址编码。

如何解决这个问题:

string = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

假设您使用的是UTF8。