我在 iOS 6 上使用社交框架来集成 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 似乎也发生了相同的行为。
最佳答案
在 iOS 5 twitter 集成中,
TWTweetComposeViewControllerResult 只有 2 个选项
当用户选择完成时——TWTweetComposeViewControllerResultDone
当用户选择取消时——TWTweetComposeViewControllerResultCancel
这个结果不依赖于苹果在后台更新的推文。如果更新时推文失败,则会显示警报。
所以我建议不要实现任何成功或失败的自定义弹出窗口。由于苹果本身实现了成功/失败推文更新的指示。成功时会播放声音,失败时会弹出提示音。
关于twitter - Twitter 上的 SLComposeViewController : how to detect duplicate post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13527653/