3

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

我决定远离那些第三方库,并且已经使用 Social 框架实现了。考虑到这篇文章,它看起来很不错,实现本身也变得很简单,但是有一个问题。SLComposeViewController 的完成块不会告诉您帖子是否成功。我需要知道帖子是否成功,因为如果帖子成功,我将对我们的服务器进行额外的 api 调用以跟踪用户的帖子。

以下是我的问题:

我应该放弃 SLComposeViewController 并手动进行 post 调用,还是最好只为这种特殊情况使用第三方库?有什么方法可以让我在使用 SLComposeViewController 的同时绕过?

提前感谢你们的任何输入/想法。

4

1 回答 1

4

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

参考: SLComposeViewController 分享教程

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

SLComposeViewController *tweetSheet = [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];
于 2016-03-04T17:27:18.587 回答