TWTweetComposeViewController 中的错误?

2023-11-24

我正在使用 TWTweetComposeViewController(如果可用)从我的 iOS 应用程序内部发送推文。我用样板文本预先填充视图控制器,然后让用户自行修改和发送。它在大多数情况下都非常有效。蒸馏下来,它看起来像这样(与body指向一个有效的NSString):

if (NSClassFromString(@"TWTweetComposeViewController"))  {
    TWTweetComposeViewController *iOS5twitter = [[TWTweetComposeViewController alloc] init];
    [iOS5twitter setInitialText:body];
    iOS5twitter.completionHandler = ^(TWTweetComposeViewControllerResult result) 
    {
        [self.viewController dismissViewControllerAnimated:YES completion:nil];
    };   
    [self.viewController presentViewController:iOS5twitter animated:YES completion:nil];
    [iOS5twitter release];
}
else {
    /* Do something else when the framework is missing */
}

Now if body太长,即超过 140 个字符,生成的推文视图根本没有任何文本,字符倒计时设置为 140。我可能预计在这种情况下会被截断,尽管它似乎没有记录在类参考中无论如何,当初始文本太长时会发生什么,但我可以接受,我必须在传递到之前截断到最大推文长度setInitialText.

我不明白的是某些消息are少于 140 个字符也会产生空的推文视图。

最初,我看到看似完全有效的 139 个字符的字符串失败了。我注意到缩短绳子就可以了。但经过大量实验后,我还注意到,用相同长度的随机文本替换文本中碰巧出现的 URL 就可以了。换句话说,URL 本身就有问题。

所以我想我使用的 URL 可能有些奇怪,但我将其简化为以下内容。这个有效:

NSString *body = @"............................................................................................................................................";

虽然这并不

NSString *body = @"............http://a........................................................................................................................";

观察结果:

  • 它们的长度都是 140 个字符(并在控制台中以这种方式报告[body length])。唯一的区别是第二个中间嵌入了一些类似于 URL 的东西。
  • URL 在字符串中的位置似乎并不重要,但如果我将任何一个非句点字符更改为句点(从而使其不再像 URL),它就不再被破坏。
  • 如果我把破损的部分缩短,把末尾的 14 个句号删掉,它就会起作用。也就是说,这个特定的 URL 嵌入句点,总长度为 126 个字符就可以了。 127或更大已损坏。不清楚这与 URL 本身的长度如何或是否相关。

有人见过这样的事情吗?知道发生了什么事吗?是我做错了什么,还是 iOS Twitter 框架被破坏了?


我遇到了完全相同的问题。这是 Twitter 框架中的一个已知错误,正在被跟踪。

请参阅 dev.twitter.com 上的讨论https://dev.twitter.com/discussions/5024

(如果可以的话,我会把它作为评论而不是答案发布,但我没有足够的可信度,所以我想我也会添加以下观察结果,以防它们感兴趣)。

当仅添加不带 URL 的文本时,字符计数将按预期工作。 使用 addURL: 方法添加 URL 会导致使用推文的 21 个字符(URL 为 20 个字符加一个空格)。在初始文本中添加 URL 会导致 URL 使用 20 个字符。 当包含单个 URL(使用任一方法)时,当总字符数超过 138 时(例如 URL 20 + 空格 + 初始文本的 117 个字符),框架将失败,从而丢失 2 个字符。对于只有一个 URL,设置初始文本然后使用 addURL: 添加 URL 的顺序没有什么区别。

添加 2 个 UR 时,当总字符数超过 113 时会失败,从而丢失 27 个字符! 但是,对于 2 个或更多,如果添加 URLBEFORE设置初始文本时失败,总数为 136。因此每个 URL 又丢失了 2 个字符。

摘要/解决方法 - 如果仅包含 1 个 URL,则将其添加到初始文本中将比使用 addURL: 方法多提供一个字符,但总体上仍然会少 2 个字符。如果使用 addURL: 添加 2 个或更多 URL,则将它们添加到初始文本之前,但在错误修复之前,每个 URL 仍会丢失 2 个字符。

我已经提交了雷达,但是根据这个我可以浏览其他人(Apple)的错误报告吗?,错误报告的次数越多,它的优先级就越高,因此其他人也值得提交该错误以提高其优先级。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TWTweetComposeViewController 中的错误? 的相关文章

  • 如何在 UICollectionView 的节标题中动态添加标签和按钮?

    请帮助我如何水平添加标签和水平添加类似的按钮 但每个按钮应像另一个部分一样在每个标签的下方对齐 这应该在 UICollectionView 的标题中动态发生 因为标签和按钮的数量根据我的数据 我想制作一种 Excel 类型的布局 并在标题中
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • “同时创建 xib 文件”按钮已禁用

    我在创建时遇到这个问题UIView s子类 创建 例如 UIViewControllers or UITableViewCells没关系 为什么会出现这种情况 I create view using cmd N and Xcode Vers
  • Twitter 搜索 API 速率限制如何运作?

    我不清楚 Twitter 速率限制 每个访问令牌 用户每小时 350 个请求 的含义 他们如何限制请求 在 1 个请求中我可以获得多少数据 速率限制基于请求 而不是您收到的数据量 例如字节 考虑到这一点 您可以通过使用您正在调用的特定端点的
  • 如何通过 ajax 加载页面后显示 Twitter / Facebook / Google+ 按钮?

    我有一个 Rails 3 1 应用程序 我希望允许用户通过 Twitter Google 和 Facebook HTML5 版本的 Like 按钮 共享项目 我让它在项目的显示页面上工作得很好 即 仅显示该项目 但我在通过 Ajax 加载列
  • 这个错误是无效上下文0x0吗?

    我在ViewDidLoad中编写了以下代码 Implement viewDidLoad to do additional setup after loading the view typically from a nib void view
  • Twitter\OAuth2\Python 入门

    我正在尝试使用 python 连接到 twitter 但我发现它真的很令人沮丧 我读到的所有内容都表明我需要一个消费者密钥 一个消费者秘密 一个访问密钥和一个访问秘密 例如 使用python OAUTH2访问OAUTH保护的资源 http
  • 自动布局、UIDynamics 和动画

    我对自动布局还很陌生 并且对如何为视图设置动画感到困惑 我读了很多 我知道你必须遵守限制 编辑它 然后包装layoutIfNeeded in an UIView动画块 但当真正要做的时候 我却有点失落 我很乐意有人能向我解释如何做这个动画
  • UITextFieldDelegate 与 UITextField 控件事件

    如果我想处理 UITextField 的更改 例如用户在其中键入 看起来这可以通过将委托分配给该文本字段 然后让委托实现 shouldChangeCharactersInRange 来完成 或者通过将目标添加到文本字段并处理 UIContr
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • 如何请求用户开启定位服务

    我需要我的应用程序来访问用户的当前位置 它在应用程序开始时检查用户是否已设置 如果没有 我需要应用程序显示提示以使其使用位置服务 就像警报视图一样 点击按钮 它应该会带您进入 iPhone 上的位置服务屏幕 您可以通过以下代码检查 loca
  • 在后台任务中安排通知

    我正在为 iOS 开发一个日历 闹钟应用程序 它与网络服务器同步 当在服务器上添加活动时 会发出推送通知 以便 iOS 客户端可以获取新数据 并根据需要更新和安排下一次警报的时间 本地通知 但这仅在应用程序在客户端打开时才有效 我希望客户端
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 在 Swift 中自动移动 UISlider

    我想在按下按钮时将 UISlider 从 minValue 循环移动到 maxValue 并在再次按下按钮时将其停止在当前位置 我想使用 Swift 我遇到的主要问题是函数 slider setValue 太快了 我希望动画更慢 IBAct
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 使用 UIImageJPEGRepresentation 时,compressionQuality 应该是多少?

    我想对用户库中的照片应用滤镜 然后将其写回磁盘 我在用着UIImageJPEGRepresentation 该函数需要一个UIImage and a compressionQuality值介于 0 0 和 1 0 之间 因为我想保留原始质量
  • 在 Instruments 中查找内存泄漏行

    我是 iOS 中的仪器新手 我正在尝试使用 Xcode 4 5 2 并按照本教程查找仪器中的内存泄漏 http soulwithmobiletechnology blogspot sg 2011 04 how to check memory
  • 我应该在哪个方法中设置 UITextField 的委托?

    在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗 我尝试在 init 方法中将委托设置为 self 但它没有调用相应的委托方法 当我将代码移动到 viewDidLoad 中时 它注册为将 s
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector

随机推荐

  • 从asp.net获取AD用户objectGuid的身份验证

    我在 ASP NET 应用程序中使用 Windows 身份验证 我想知道如何最好地从当前登录的用户获取 objectGuid 问候 埃吉尔 建议的解决方案相当昂贵 更好的解决方案是使用 SID 来查找帐户 而不是通过域和用户名进行搜索 us
  • 按枚举描述排序

    我正在开发一个首先使用 EF 代码的 ASP NET MVC 项目 我面临着需要通过枚举描述进行排序的情况 public partial class Item public enum MyEnumE Description descript
  • JPA Criteria 使用单表继承对实体层次结构进行查询

    假设我有以下实体 Entity Inheritance strategy SINGLE TABLE DiscriminatorColumn name type public abstract class BaseEntity private
  • 使用 DocumentBuilder.parse 解析格式良好的 XML 时如何关闭验证?

    我正在使用 Java 6 我想解析我知道格式良好的 XHTML 因此 我不想对文档中引用的 DTD 或其他模式进行任何验证 但是 我无法弄清楚如何关闭该验证 我有 DocumentBuilderFactory factory Documen
  • Allegro 5 在调用 al_clear_to_color(ALLEGRO_COLOR) 时崩溃

    我从 Allegro 5 开始 但很快我就陷入了我正在编写的第二个类似 hello world 的程序中 经过一番调试 我得出结论 程序在调用该函数时崩溃了al clear to color ALLEGRO COLOR 我尝试过静态和动态链
  • 对称整数到整数加密

    我需要一些关于如何将一个 int 加密为另一个 int 的实际示例 并且需要一个密钥来解密该值 就像是 encrypt 1 secret key 67123571122 decrypt 67123571122 secret key 1 这家
  • 如何在 Asp.Net MVC 中动态插入部分视图

    我正在将 Webforms 站点迁移到 MVC 在我的网络表单网站中 我的页面利用了用户控件的各种组合 然后是 html 块 然后是标签 文本框等 我不想对每个页面进行硬连线 因此我将从 CMS 驱动每个页面的输出 该 CMS 指定将控件插
  • bash Heredoc 可以将其结果直接放入变量中吗?

    我有一些这样的代码 CMD cat lt
  • 我的领域路径定义的 #if TARGET_OS_SIMULATOR 代码有什么问题?

    我有这个代码 if TARGET OS SIMULATOR let device false let RealmDB try Realm path Users Admin Desktop realm Realm realm else let
  • 检索 CSS 是否需要“getPropertyValue”方法?

    你能告诉我为什么我们需要使用getPropertyValue方法 如果我们只能使用getComputedStyle one 例如 据我了解 这将起作用 var s getComputedStyle element null opacity
  • 错误! “sudo”不是 Play 的有效属性

    我有一个 ansible 播放文件 它必须执行两个任务 第一个任务是在本地计算机上获取磁盘使用情况 另一个任务是获取远程计算机的磁盘使用情况并在远程计算机中安装 apache2 当我尝试运行该文件时出现错误 错误 sudo 不是 Play
  • 带有 json 正文的 Swagger POST

    我正在尝试使用 swagger 编写服务器响应的静态 json 文件 我被帖子正文困住了 不知道如何描述它 它看起来与 Grooveshark api 非常相似 其中有一个页面和不同的帖子参数 因此 给出grooveshark的例子 htt
  • 对 CollectionViewSource 感到困惑(SelectedItem 无法在组合中工作)

    我有一堆组合 它们都共享相同的可用选项 这些选择在我的 ViewModel 公开的集合中提供 一切都很好 花花公子 我现在想要对这些选择进行排序 所以我决定公开一个ICollectionView来自我的 ViewModel 而不是我平常的R
  • 将 plupload 与 MVC3 结合使用

    因此 我在 MVC3 中使用 flash 运行时实现了 plupload 它工作完美 因为它使用更正操作上传并运行全部内容 但是 我真的很希望能够控制响应 并在 plupload 中处理它 但我似乎无法得到任何响应 我尝试过覆盖 fileU
  • ambari hadoop 安装期间权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、密码)

    我正在尝试使用 ambari 部署 hadoop 集群 但是当我选择具有 FQDN 的主机名并继续配置时 我收到 ssh 的权限被拒绝错误 脚步 1 使用 ssh keygen 作为 root 生成 rsa 密钥 更改了 ssh 700 和
  • 我什么时候会使用 AppDomain?

    我对反射相当陌生 我想知道我会使用 第二个 AppDomain 做什么 在商业应用中会有什么实际应用 有很多用途 辅助 AppDomain 可以提供一定程度的隔离 类似于操作系统提供的进程隔离 我使用它的一个实际用途是动态加载 插件 DLL
  • 如何在android中将url加载到webview时显示进度?

    我正在将 url 加载到 webview 中 WebView webview WebView findViewById R id webview webview loadUrl url 加载网址需要一些时间 在此期间显示空白屏幕 我想在加载
  • 递归查询挑战 - 简单的父/子示例

    注意 在 postgresql 上的 RhodiumToad 的帮助下 我找到了一个解决方案 我将其作为答案发布 如果有人可以对此进行改进 请加入 我还没能适应之前的递归查询解决方案到以下有向无环图 其中包括多个 根 无祖先 节点 我正在尝
  • System.Diagnostics.Process.Start 针对不同域的进程

    我们有一个场景 我们需要用户能够启动 SQLServer 并使用与当前登录的域不同的域进行身份验证 因此 为了澄清其设置方式 用户到达办公室并登录公司域 为简单起见 我们将其称为 LOCALDOMAIN 他们希望连接到不同域上的远程数据库
  • TWTweetComposeViewController 中的错误?

    我正在使用 TWTweetComposeViewController 如果可用 从我的 iOS 应用程序内部发送推文 我用样板文本预先填充视图控制器 然后让用户自行修改和发送 它在大多数情况下都非常有效 蒸馏下来 它看起来像这样 与body