【问题标题】:iOS SLComposeViewController - url not displaying for twitter postiOS SLComposeViewController - 推特帖子的网址不显示
【发布时间】:2013-09-15 15:56:23
【问题描述】:

我正在使用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];

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

【问题讨论】:

  • 很确定这就是它的工作原理。您在 Tweet 对话框中看到的小回形针意味着附加了一个链接。 Facebook 没有供您同时上传图片和分享链接的 API,因此链接必须放在消息正文中。
  • 我还没有使用 addURL 但这可以帮助您:如果您想在推文文本中看到它,请尝试将链接添加到 initialText:[socialController setInitialText:[NSString stringWithFormat:@"测试:这是应用链接!%@", tweetURL]];

标签: iphone ios facebook twitter slcomposeviewcontroller


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    • 我建议你实际发送推文,并检查你的 Twitter 帐户是否真的缺少 URL(它可能只是按预期工作)

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        SLComposeViewController -addURL: 方法 returns a 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
        }
        

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 这应该是一条评论
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-04-17
          • 1970-01-01
          • 2012-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多