我将iOS与我的应用程序集成在iOS 7中,它在Twitter上分享时工作正常,并在分享“你的推文已发送”后显示消息。我在SLComposeViewControllerResultDone
案例中展示的内容。但是当我在Twitter上再次分享相同的消息时会发生什么,它会向我显示消息“Tweet myappname是重复的,无法发送。”然后它来到SLComposeViewControllerResultDone
案例并向我显示我的消息“你的推文已被发送。”当用户发送重复消息时,我无法获得任何指示或提示,因为此时我必须阻止自己的警报。请帮助我,我怎么知道用户何时在Twitter上发送了重复的消息。感谢
代码:
if([[[[UIDevice currentDevice] systemVersion] floatValue]> = 6.0f) { SLComposeViewController * twitterController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
// if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
//{
SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){
[twitterController dismissViewControllerAnimated:YES completion:nil];
switch(result){
case SLComposeViewControllerResultCancelled:
default:
{
NSLog(@"Cancelled.....");
}
break;
case SLComposeViewControllerResultDone:
{
// NSLog(@"Posted....");
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@""
message:@"Your Tweet has been sent."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
break;
}};
[twitterController setInitialText:@"MY App"];
[twitterController addURL:[NSURL URLWithString:@"http://google.com/"]];
[twitterController setCompletionHandler:completionHandler];
[self presentViewController:twitterController animated:YES completion:nil];
}
答案 0 :(得分:0)
您不应该依赖SLComposeViewControllerResultDone
来假设推文成功。此外,您应该将其留给操作系统,以便向用户显示相应消息的警告。
您不应该尝试深入了解获取消息的响应。操作系统会在出现错误时显示相应的警报,否则会尝试播放您为成功推文配置的声音。