多个Twitter登录同时IOS应用程序

时间:2014-06-19 06:49:43

标签: ios twitter twitter-oauth social-framework

我有一个应用程序需要与twitter登录集成,以便通过他们的Twitter帐户登录。在应用程序中我们也有Twitter共享选项。在这里,我想实现功能,以选择他们想要在哪个帐户中共享推文的帐户。如果用户仅登录一个帐户,则应该提供登录到另一个帐户而无需注销现有登录帐户。

2 个答案:

答案 0 :(得分:2)

嗯,这确实将大约5个不同主题组合成一个,我们无法为您编写整个应用程序,但这里有一些有用的指示。

说到twitter,我使用的是STTwitter API(https://github.com/nst/STTwitter)。这样做需要所有的推特代码,并为我们不那么客观的程序员提供愚蠢的代码。 " README"文件包含有关您需要的更多信息。您可以在http://www.veasoftware.com/tutorials/2014/6/17/xcode-5-tutorial-ios-7-app-only-authentication-twitter-api-version-11找到开发人员教程。这也允许您下载项目以进行测试,并从中复制和粘贴代码。

Youtube和Google也是寻找信息的绝佳来源。现在你的请求相当广泛,包含了twitter集成的几个不同方面,从头开始一次一个地处理它们。

答案 1 :(得分:-1)

====>下载第三方类FSHTwitterEngine。

{

[[FHSTwitterEngine sharedEngine] permanentSetConsumerKey:@" 6XITOIDiXNajx7TQMKOh8qDxj" andSecret:@" w4F44ATueFsarNjGQ9WDdEudJCBJ8P0o5zeNON5bP9hIKhGls6"];

    [[FHSTwitterEngine sharedEngine]setDelegate:self];
    [[FHSTwitterEngine sharedEngine]loadAccessToken];

    UIViewController *loginController = [[FHSTwitterEngine sharedEngine]loginControllerWithCompletionHandler:^(BOOL success) {


        NSLog(success?@"L0L success":@"O noes!!! Loggen faylur!!!");

        [self performSelector:@selector(TwitterPostMessage) withObject:nil afterDelay:1.0];



    }];
    [self presentViewController:loginController animated:YES completion:nil];

}

- (无效)TwitterPostMessage {

UIImage *aimg = [UIImage imageNamed:@"mark"];

// [[FHSTwitterEngine sharedEngine]postTweet:@"Hepp adsfihdf sdfhihdsfh" withImageData:UIImagePNGRepresentation(aimg)];

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    @autoreleasepool {
        //NSString *tweet = [alertView textFieldAtIndex:0].text;
        // id returned = [[FHSTwitterEngine sharedEngine]postTweet:@"Post of image"];

        id returned = [[FHSTwitterEngine sharedEngine]postTweet:@"Hi Successfully Post Twitter..." withImageData:UIImagePNGRepresentation(aimg)];
        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

        NSString *title = nil;
        NSString *message = nil;

        if ([returned isKindOfClass:[NSError class]])
        {
            NSError *error = (NSError *)returned;
            title = [NSString stringWithFormat:@"Error %d",error.code];

            message = error.localizedDescription;
        } else {
            NSLog(@"%@",returned);
            title = @"Tweet Posted";
            message = @"Post of image";
        }

        dispatch_sync(dispatch_get_main_queue(), ^{
            @autoreleasepool {
                UIAlertView *av = [[UIAlertView alloc]initWithTitle:title message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [av show];
            }
        });
    }
});

}