【问题标题】:SLComposeViewController on Twitter: how to detect duplicate postTwitter 上的 SLComposeViewController:如何检测重复的帖子
【发布时间】:2012-12-31 22:47:48
【问题描述】:

我在 iOS 6 上使用 Social Framework 进行 Twitter 集成,使用以下代码:

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
controller.completionHandler = ^(SLComposeViewControllerResult result) {
    if (result == SLComposeViewControllerResultCancelled) {
      // cancelled
    } else if (result == SLComposeViewControllerResultDone) {
      // done
    } else {
      // unknown
    }
    [controller dismissViewControllerAnimated:YES completion:nil];
};
[self presentViewController:controller animated:YES completion:Nil];

如果用户将相同的推文消息设置为其旧消息之一,我会弹出“推文“xxx”是重复的,无法发送。”但完成处理程序结果值仍然是 SLComposeViewControllerResultDone。有没有办法知道一条推文是否真的被发送了? TWTweetComposeViewController 似乎也发生了相同的行为。

【问题讨论】:

    标签: twitter ios6 slcomposeviewcontroller


    【解决方案1】:

    在 iOS 5 twitter 集成中,

    TWTweetComposeViewControllerResult 只有 2 个选项

    当用户选择完成时——TWTweetComposeViewControllerResultDone

    当用户选择取消时——TWTweetComposeViewControllerResultCancel

    这个结果不依赖于苹果在后台更新的推文。如果推文在更新时失败,则会显示警报。

    所以我建议不要为成功或失败实施任何自定义弹出窗口。由于苹果本身实现了成功/失败推文更新的指示。成功时会播放声音,失败时会弹出提示信息。

    【讨论】:

    • 该建议对 UI 通知有意义,但它仍然意味着 Social.Framework API 中存在差距,如果您希望在推文成功发布后执行某些操作.
    • @JeremyWiebe 所以没有办法知道使用 Social.Framework 是否成功发布了推文?
    • 再次查看 API 时,您似乎可以利用 performRequestWithHandler:developer.apple.com/library/ios/documentation/Twitter/Reference/… 我还没有尝试过,所以我不确定它是否正是需要的。看起来很有希望。
    猜你喜欢
    • 1970-01-01
    • 2015-12-01
    • 2013-08-29
    • 2011-07-16
    • 1970-01-01
    • 2013-11-14
    • 2015-08-07
    • 2013-09-15
    • 1970-01-01
    相关资源
    最近更新 更多