3

我在 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 似乎也发生了相同的行为。

4

1 回答 1

8

在 iOS 5 推特集成中,

TWTweetComposeViewControllerResult 只有 2 个选项

当用户选择完成时——TWTweetComposeViewControllerResultDone

当用户选择取消时——TWTweetComposeViewControllerResultCancel

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

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

于 2012-12-31T14:47:48.747 回答