8

我正在使用SLComposeViewController发布到 twitter 和 Facebook。我对 twitter 和 facebook 都有相同的代码,但是 URL 没有显示在 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];

脸书代码-

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];
4

5 回答 5

15

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

于 2013-09-13T23:12:35.797 回答
1
  • 我建议您实际发送推文,并检查您的 Twitter 帐户是否真的缺少 URL(它可能只是按预期工作)

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

于 2013-09-15T12:57:34.863 回答
1

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

于 2013-09-19T06:07:09.410 回答
0

SLComposeViewController-addURL:方法返回一个 BOOL来指示您尝试附加的 URL 是否适合剩余的字符空间。修改您的代码以检查它是否实际返回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
}
于 2013-09-20T13:50:42.567 回答
0

如果您包含链接,Twitter 现在将推文限制为 117 个字符

于 2016-01-30T06:54:10.030 回答