检测是否在iOS 7上设置了Twitter帐户

时间:2014-04-05 19:17:24

标签: ios objective-c

我一直在关注将Twitter集成到我的应用程序中的一些教程。以下是我到目前为止的情况:

- (IBAction)postToTweeter:(id)sender {
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
        SLComposeViewController *tweetSheet = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeTwitter];
        [tweetSheet setInitialText:@"this is a test"];
        [self presentViewController:tweetSheet animated:YES completion:nil];
    }
}

我的故事板有一个按钮,当用户点击该按钮时,这就是被调用的代码。但是,这只适用于他们首先在iPhone上设置Twitter帐户的情况。如何处理用户尚未设置Twitter帐户的情况,并向他们显示警告,指示他们添加Twitter帐户?

1 个答案:

答案 0 :(得分:3)

SLComposeViewController有一个非常方便的内置机制,如果您在用户未设置/登录到相关社交媒体服务时实例化ComposeViewController,它将提供将用户发送到设置。要测试这一点,您需要做的就是删除条件,以便您的代码如下所示:

- (IBAction)postToTweeter:(id)sender {
    SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    [tweetSheet setInitialText:@"this is a test"];
    [self presentViewController:tweetSheet animated:YES completion:nil];
}

...而且您会发现iOS会自动弹出一条提醒用户进入设置的提醒。

请注意,我发现这并不适合在模拟器中使用,因此最好在设备上进行测试。