Twitter上的SLComposeViewController:如何检测重复的帖子

zov*_*zov 3 twitter ios6 slcomposeviewcontroller

我使用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];
Run Code Online (Sandbox Code Playgroud)

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

sha*_*ikh 8

在iOS 5 twitter集成中,

TWTweetComposeViewControllerResult只有2个选项

当用户选择完成时 - TWTweetComposeViewControllerResultDone

当用户选择取消时 - TWTweetComposeViewControllerResultCancel

此结果不依赖于Apple在后台更新的推文.如果推文在更新时失败则显示警报.

所以我建议不要为成功或失败实现任何自定义弹出窗口.由于苹果本身实施了成功/失败推文更新的指示.在成功的过程中,它会播放声音并在失败时弹出一个有理由的弹出窗口.