我正在尝试在iPhone发送的twee中嵌入一个链接。 URL以右括号结束。该括号被删除并导致t.co链接失败。我试过编码,用href标记。似乎没有什么东西将结束的括号带到结果URL中。看看我上次尝试了什么,但因为人物太多而失败了。为什么没有缩短?:
if (tweetsEnabled && twitToSendTo != nil) {
// Build the string
NSString *mapURL = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@,%@+(%@)",newLogEvent.lattitude,newLogEvent.longitude,eventString];
NSString *encodedURL = [mapURL encodeString:NSUTF8StringEncoding];
NSString *tweetString = [NSString stringWithFormat:@"%@\n<a href>=\"%@\"></a>",note,encodedURL];
NSLog(@"%@",tweetString);
// Send it
[self performSelectorOnMainThread:@selector(postToTwitterWithString:) withObject:tweetString waitUntilDone:NO];
}
最简单的形式是,没有编码,没有标签,没有+(%@),链接就可以了。它显示为t.co缩短的链接,并按预期显示网页。但是我需要括号中的字符串给标签提供文本,看起来它应该很容易实现。
以下是NSLog的输出:
2012-08-14 09:57:43:551 app[2683:34071] -[logger insertLogEvent:withLocation:isArrival:] [Line 641] Arrival logged for Home
<a href>="http%3A%2F%2Fmaps.google.com%2Fmaps%3Fq%3D26.17071170827948%2C-80.16628238379971%2B%28Arrival%29"></a>
答案 0 :(得分:0)
这有效:
// Build the string
NSString *mapURL = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@,%@+%%28%@%%29",newLogEvent.lattitude,newLogEvent.longitude,eventString];
NSString *tweetString = [NSString stringWithFormat:@"%@\n%@",note,mapURL];
我现在不是编码整个字符串而只是括号。这个方便的帖子How to add percent sign to NSString是我找到正确的方法来获取编码的百分号。