我在iOS 6上使用Social Framework进行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发生了相同的行为。
答案 0 :(得分:8)
在iOS 5推特集成中,
TWTweetComposeViewControllerResult只有2个选项
当用户选择完成时 - TWTweetComposeViewControllerResultDone
当用户选择取消时 - TWTweetComposeViewControllerResultCancel
此结果并不取决于Apple在后台更新的推文。如果推文在更新时失败则显示警告。
我建议不要为成功或失败实现任何自定义弹出窗口。由于苹果本身实施了成功/失败推文更新的指示。在成功的过程中,它会发出声音和声音。失败时弹出一个原因。