iOS - Twitter使用SLComposeViewController发布回调

时间:2014-06-25 16:28:11

标签: ios twitter social-framework slcomposeviewcontroller

我们的应用程序与Twitter共享选项,这是通过第三方库实现的,我正在尝试重新实现它们。之前,我们使用MGTwitterEngine,SA_OAuthTwitterController和REComposeViewController链接并将消息发布到Twitter。一切正常,但我不喜欢我们开始支持新iOS版本和丢弃旧版本时遇到问题的事实。

我决定远离那些第三方图书馆,并已使用社交框架实施。考虑到帖子,它看起来很不错,实现本身变得非常简单,但是有一个问题。 SLComposeViewController的完成块不会告诉您帖子是否成功。我需要知道帖子是否成功,因为我正在对我们的服务器进行额外的api调用,以便在帖子成功时跟踪用户的帖子。

以下是我的问题:

我应该放弃SLComposeViewController并手动进行发布调用,还是最好只使用第三方库来解决这个特殊情况?有什么方法可以绕过,同时仍然利用SLComposeViewController?

感谢您提前提出的任何意见/想法。

1 个答案:

答案 0 :(得分:3)

这是旧的,但对于那些像我一样偶然发现它的人来说,这是一个答案。

参考: Tutorial for SLComposeViewController sharing

首先为SlComposeViewController设置完成处理程序:

SLComposeViewController *t = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    [tweetSheet setInitialText:@"put your #tag"];
    [tweetSheet addImage:self.imageToSend];

    [tweeter setCompletionHandler:^(SLComposeViewControllerResult result) {

        switch (result) {
            case SLComposeViewControllerResultCancelled:
            NSLog(@"Post Canceled");
            break;
            case SLComposeViewControllerResultDone:
            NSLog(@"Post Sucessful");
            break;

            default:
            break;
        }
    }];

然后使用已设置的完成处理程序显示它:

    [self tweeter animated:YES completion:nil];