我正在使用以下代码在我的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!"];
答案 0 :(得分:8)
Matteo Pacini你的答案不正确,
你必须添加PercentEscapes(stringByAddingPercentEscapesUsingEncoding:
)NOT REPLACE PercentEscapes(stringByReplacingPercentEscapesUsingEncoding:
)
string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
答案 1 :(得分:2)
我打赌 self.theTextView.text 没有获得网址编码。
如何解决这个问题:
string = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
假设您使用的是UTF8。