格式化与TWRequest括号的链接

时间:2012-08-14 14:31:57

标签: html ios twitter

我正在尝试在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>

1 个答案:

答案 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是我找到正确的方法来获取编码的百分号。