从iOS应用程序打开Twitter无法正常工作

时间:2014-12-22 04:42:01

标签: ios objective-c iphone twitter

我一直在使用以下代码在我的应用内打开Twitter。虽然它有效,但我似乎无法在NSString中嵌入空格。

NSString *string1 = [NSString stringWithFormat:@"twitter://post?message=hello+world"];
NSString *string2 = [NSString stringWithFormat:@"http://twitter.com/intent/tweet?text=hello%20world"];

NSURL *twitterURL = [NSURL URLWithString:string1];
NSURL *mobileURL = [NSURL URLWithString:string2];

if ([[UIApplication sharedApplication] canOpenURL:twitterURL])
    [[UIApplication sharedApplication] openURL:twitterURL];
else
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:mobileURL]];

代码的两个部分都适用于预期的情况,但是如何在NSURL中嵌入空格?第二段代码打印" hello2orld"而不是"你好世界"。我也试过+分隔符无济于事。

1 个答案:

答案 0 :(得分:2)

您可以使用以下指令将空格转换为%20:

NSString *string1 = [NSString stringWithFormat:@"twitter://post?message=hello world"];
string1 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

您也可以使用其他NSString方法删除此编码:

– stringByReplacingPercentEscapesUsingEncoding