在iOS 7上分享消息后困惑的推特

时间:2014-04-21 05:59:25

标签: ios twitter ios7

我将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];

        }

1 个答案:

答案 0 :(得分:0)

您不应该依赖SLComposeViewControllerResultDone来假设推文成功。此外,您应该将其留给操作系统,以便向用户显示相应消息的警告。

您不应该尝试深入了解获取消息的响应。操作系统会在出现错误时显示相应的警报,否则会尝试播放您为成功推文配置的声音。