iOS SLComposeViewController - 不显示Twitter帖子的网址

时间:2013-09-11 14:44:20

标签: iphone ios facebook twitter slcomposeviewcontroller

我正在使用SLComposeViewController发布到Twitter和Facebook。对于twitter和amp;我都有相同的代码Facebook,但URL没有显示在Twitter帖子中。我该如何解决这个问题?

enter image description here

Twitter代码 -

socialController = [SLComposeViewController
    composeViewControllerForServiceType:SLServiceTypeTwitter];
[socialController setInitialText:@"Testing: This is the app link!"];
[socialController addImage:[UIImage imageNamed:@"image.jpg"]];
[socialController addURL:[NSURL URLWithString:@"http://www.google.com"]];
[self presentViewController:socialController animated:YES completion:nil];

Facebook代码 -

socialController = [SLComposeViewController
    composeViewControllerForServiceType:SLServiceTypeFacebook];
[socialController setInitialText:@"Testing: This is the app link!"];
[socialController addImage:[UIImage imageNamed:@"image.jpg"]];
[socialController addURL:[NSURL URLWithString:@"http://www.google.com"]];
[self presentViewController:socialController animated:YES completion:nil];

5 个答案:

答案 0 :(得分:15)

SLComposeViewController在推文撰写视图中将网址显示为附件。发送时,URL将附加到帖子的末尾。您甚至可以添加多个网址,它们仍会显示为附件。所以这就是应该的方式,没有什么可以解决的。

答案 1 :(得分:1)

  • 我建议您实际发送推文,并检查您的Twitter帐户是否真的丢失了URL(可能只是按预期工作)

  • 这显然不是造成你麻烦的原因,而是要注意你的消息长度:我发现当短信太长时,Twitter API会默默地跳过应该包含缩短的URL的步骤图像和URL。 根据{{​​3}},如果您使用addURL两次,则您的文字不应超过113个字符。

答案 2 :(得分:1)

我建议引用this链接..调试你的代码,有一种方法 - (BOOL)addURL:(NSURL *)url返回一个布尔值,指示是否已成功添加URL。

答案 3 :(得分:0)

SLComposeViewController -addURL:方法returns a BOOL,用于指示您尝试附加的网址是否适合剩余的字符空间。修改您的代码以检查它是否实际返回NO

BOOL urlOK = [socialController addURL:[NSURL URLWithString:@"http://www.google.com"]];
if(!urlOK) {
 //Notify the user, truncate the message, or something else depending on your use case
}

答案 4 :(得分:0)

如果您包含链接

,Twitter现在会将推文限制为117个字符