ios - TwitterKit iOS SDK 根据字符数计算图像和 URL

标签 ios swift twitter

我使用的是最新版本的 TwitterKit (2.5),当我尝试分享带有图像和 URL 的推文时,TWTRComposer 会根据字符数对它们进行计数。 Twitter is supposed to no longer count media against the character count ,事实上,我能够从网络发布完全相同的推文,而我无法在应用程序内发布(应用程序说它太长)。

在我当前的用例中,我的实际推文文本是 100 个字符。通过图像和 URL,TWTRComposer 显示我超出了限制 8 个字符。然而,我可以从 Chrome 发布这条内容完全相同的推文,并保留 16 个字符。

这是一个已知错误吗?

代码片段:

func didTapShareToTwitter() {
        // Configure composer
        let composer = TWTRComposer()

        composer.setText(composerText)          
        composer.setURL(shareURL)

        if shareImageURL != nil {
            if let imageData = NSData(contentsOfURL: shareImageURL!) {
                composer.setImage(UIImage(data: imageData))
            }
        }

        // Present composer
        composer.showFromViewController(self) { result in
            if (result == TWTRComposerResult.Cancelled) {
                log("Tweet composition cancelled.")
            }
            else {
                log("Sending tweet...")
            }
        }

    }

最佳答案

看起来这是一个 iOS 系统级错误,不一定是 Twitter SDK。 TWTRComposer 实际上只是内置 iOS 共享 View Controller SLComposeViewController 的包装器。

自最新的 iOS 版本 10.1 起,iOS SLComposeViewController 仍将附加的 URL 和图像计入 Twitter 字符总数限制 (140)。最有可能的是,自今年早些时候 Twitter 采取行动不将图像和 URL 计入字符限制以来,Apple 一直没有更新他们的操作系统代码。

经过一些测试,我得出以下结论:

  • 在 iOS 上,无论原始长度如何,URL 都计为 23 个字符 网址是。
  • 在 iOS 上,一张图片无论如何都算作 23 个字符 它的大小。
  • 因此,对于图像和 URL,我们只有 94 个字符
    每条推文在 iOS 上可用。也无能为力
    除非 Twitter 更新他们的 SDK 或 Apple 更新 SLComposeViewController。

关于ios - TwitterKit iOS SDK 根据字符数计算图像和 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410972/

相关文章:

ios - Swift 3 - 如何将 Real Result<Object> 转换为泛型类型 [T]

swift - UICollectionView 单元格间距相等

javascript - 如何更改 Twitter 关注按钮的宽度?

jquery - 单击它时像按钮一样动画

iphone - 如何为使用 CGBitmapContextCreate() 创建的绘图 Canvas 设置背景颜色?

ios - 在后端验证 GamceCenter 用户凭证

ios - collectionView 可重用单元格导致错误

ios - 通知中心无法通过 Swift iOS 中的 AppDelegate 运行

ios - 我的导航栏、警报标题和底部警报标题在整个项目中变成白色

sql-server - Azure 逻辑应用程序 - Twitter 和 MS SQL 连接器问题