ios - Twitter iOS API 是否提供任何方法来确定推文是否成功?

标签 ios ios5 twitter

我正在使用以下代码片段在我的 iOS 5 应用程序中发推文:

- (IBAction)postToTwitterClicked:(id)sender 
{
    if ([TWTweetComposeViewController canSendTweet])
    {
        TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc]init];
        [tweetSheet setInitialText:@"Some sample message here"];
        [tweetSheet addURL:[NSURL URLWithString:@"http://myURL"]];

        [self presentModalViewController:tweetSheet animated:YES];
    }
    else 
    {
        UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Unable to tweet"
                                                     message:@"Please ensure that you have at least one twitter account setup and have internet connectivity. You can setup a twitter account in the iOS Settings > Twitter > login."
                                                    delegate:self 
                                           cancelButtonTitle:@"OK" 
                                           otherButtonTitles:nil];
        [av show]; 
    }
}

这工作正常,但我怎么知道用户确实发布了推文,或者是否存在问题?

因为这没有实现委托(delegate),所以没有我可以覆盖的“onError”方法。

我想知道用户是否成功发布了推文,因此我可以采取一些行为,例如

  1. 禁用一个按钮,这样他们就不能再这样做了
  2. 通知他们发帖成功,很快就会显示在他们的 Feed 中

最佳答案

在 iOS Twitter API 中,您无法看到推文实际上已发布到服务器上。但是您可以分析 TWTweetComposeViewControllerResult 以查看推文是否已成功完成撰写,或者推文是否已被取消。

twitter.completionHandler = ^(TWTweetComposeViewControllerResult res) {
    if (res == TWTweetComposeViewControllerResultDone) {
         // Composed
    } else if (res == TWTweetComposeViewControllerResultCancelled) {
        // Cancelled
    }
    [self dismissModalViewControllerAnimated:YES];
};

关于ios - Twitter iOS API 是否提供任何方法来确定推文是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11500905/

相关文章:

twitter - tweepy 流媒体 API : full text

ios - Storyboard忽略 UIInterfaceOrientation 设置

ios - 如何使用 url scheme 在适用于 iOS 的 facebook messenger 上仅共享文本

android - 为 android/ios 构建同步服务?

iphone - 我如何了解 IOS 应用程序是否进入后台?

objective-c - Obj-C View to PDF 只呈现第一页

objective-c - 自动引用计数 (ARC) 说调用 [super dealloc] 是被禁止的……有什么选择?

ios - 迁移到 swift 3 现在出现错误 "argument labels ' (_ :)' do not match any available overloads

c# - Linq2Twitter单用户授权空值异常

objective-c - 在 Objective C 中检查互联网连接