我们的应用程序与Twitter共享选项,这是通过第三方库实现的,我正在尝试重新实现它们。之前,我们使用MGTwitterEngine,SA_OAuthTwitterController和REComposeViewController链接并将消息发布到Twitter。一切正常,但我不喜欢我们开始支持新iOS版本和丢弃旧版本时遇到问题的事实。
我决定远离那些第三方图书馆,并已使用社交框架实施。考虑到帖子,它看起来很不错,实现本身变得非常简单,但是有一个问题。 SLComposeViewController的完成块不会告诉您帖子是否成功。我需要知道帖子是否成功,因为我正在对我们的服务器进行额外的api调用,以便在帖子成功时跟踪用户的帖子。
以下是我的问题:
我应该放弃SLComposeViewController并手动进行发布调用,还是最好只使用第三方库来解决这个特殊情况?有什么方法可以绕过,同时仍然利用SLComposeViewController?
感谢您提前提出的任何意见/想法。
答案 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];