Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何确定ios用户是否登录到twitter?_Iphone_Ios_Twitter - Fatal编程技术网

Iphone 如何确定ios用户是否登录到twitter?

Iphone 如何确定ios用户是否登录到twitter?,iphone,ios,twitter,Iphone,Ios,Twitter,我想确定用户是否登录到twitter,这样我就可以提示他们发布推文,但前提是他们使用ios和twitter进行了设置。另外,是否有办法设置推特屏幕的默认推特?对于iOS 5.x,您可以使用以下方式检查用户是否登录到推特: [TWTweetComposeViewController canSendTweet] 对于显示带有默认消息的tweet屏幕,您可以执行以下操作: TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewC

我想确定用户是否登录到twitter,这样我就可以提示他们发布推文,但前提是他们使用ios和twitter进行了设置。另外,是否有办法设置推特屏幕的默认推特?

对于iOS 5.x,您可以使用以下方式检查用户是否登录到推特:

[TWTweetComposeViewController canSendTweet]
对于显示带有默认消息的tweet屏幕,您可以执行以下操作:

TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText:defaultMsg];
[self presentModalViewController:tweetSheet animated:YES];
你可以参考更多

编辑:对于iOS 6.0及以上版本,请使用:

// requires "Social.framework"
[SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]
因此,示例用法可以是:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
    {
        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
            [controller dismissViewControllerAnimated:YES completion:Nil];
        };
        controller.completionHandler = myBlock;
        [controller setInitialText:@"#myHashTag"];
        [controller addImage:myImage];
        [self presentViewController:controller animated:YES completion:Nil];
    }
    else
    { /* Show error alert, etc*/ }

正如我在评论中所说,如果您使用的是iOS5或更高版本,只需将Twitter.framework添加到您的项目中即可

#import <Twitter/Twitter.h>

//post tweets
- (IBAction)postTapped:(id)sender{

    if ([TWTweetComposeViewController canSendTweet])
    {
        TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
        [tweetSheet setInitialText:@" #hashtag"];


        [self presentModalViewController:tweetSheet animated:YES];
    }
    else
    {

        TWTweetComposeViewController *viewController = [[TWTweetComposeViewController alloc] init];

        //hide the tweet screen
        viewController.view.hidden = YES;

        //fire tweetComposeView to show "No Twitter Accounts" alert view on iOS5.1
        viewController.completionHandler = ^(TWTweetComposeViewControllerResult result) {
            if (result == TWTweetComposeViewControllerResultCancelled) {
                [self dismissModalViewControllerAnimated:NO];
            }
        };
        [self presentModalViewController:viewController animated:NO];

        //hide the keyboard
        [viewController.view endEditing:YES];
    }


}

当您展示TWTweetComposeViewController时,它已经检查用户是否登录到twitter,如果没有,则在您使用twitter.Framework时会进入IOS 5及更高版本的设置屏幕。Facebook有类似的功能吗?我知道如何在最新的FB SDK上执行此操作:FBSession.activeSession.isOpen。我没有在旧版本上工作过,所以我无法说明当时是如何完成的。[tweetcomposeviewcontroller canSendTweet]即使我已从设置中删除了我的twitter帐户,仍返回true。已编辑答案!Use IsAvailableForService Type[TWTweetComposeViewController canSendTweet]返回true,即使我已从设置中删除了我的twitter帐户。