3

我必须使用 Twitter 帐户登录我的 iOS 应用程序。
案例 1: 如果 iPhone 中存在 Twitter 应用程序,我需要登录 Twitter 应用程序,登录成功后,我需要重定向回我的应用程序。
案例 2:如果 iPhone 中没有 twitter 应用程序,那么我需要通过默认浏览器登录到 twitter 应用程序。

我正在使用STTwitter框架。案例2对我来说工作正常。
以下代码用于在浏览器中打开 twitter 应用程序

self.twitter = [STTwitterAPI twitterAPIWithOAuthConsumerKey:kCONSUMER_KEY
                                             consumerSecret:kCONSUMER_SECREAT];



[_twitter postTokenRequest:^(NSURL *url, NSString *oauthToken) {
    NSLog(@"-- url: %@", url);
    NSLog(@"-- oauthToken: %@", oauthToken);

    [[UIApplication sharedApplication] openURL:url];

} authenticateInsteadOfAuthorize:NO
                forceLogin:@(YES)
                screenName:nil
             oauthCallback:@"testapp://twitter_access_tokens/"
                errorBlock:^(NSError *error) {
                    NSLog(@"-- error: %@", error);

                }];

要打开 twitter 应用程序,可以使用以下代码

    NSURL *twitterURL = [NSURL URLWithString:@"twitter://"];

    if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
        [[UIApplication sharedApplication] openURL:twitterURL];
    }

如果 iPhone 中存在 twitter 应用程序,上述代码行可以打开 twitter 应用程序,但是如何在 twitter 登录成功后重定向回我的应用程序。

请任何人帮助我。

4

2 回答 2

0

一旦控制权离开您的应用程序,就无法以编程方式将用户带回来。他们需要手动返回。话虽如此,看看苹果提供的 Twitter api,因为 iPhone 可以在没有他们的应用程序的情况下登录 Twitter。您应该能够完成您想要的事情,而无需他们离开您的应用程序进入 Twitter 应用程序或网站。

于 2015-01-14T04:19:23.537 回答
0

Twitter.app 使用 iOS 设置中定义的 Twitter 帐户。

此外,即使未安装 Twitter.app,也可以在 iOS 设置中定义帐户。

所以,我认为在案例 1 中你不需要打开 Twitter.app。

您可以简单地STTwitterAPI使用第一个可用帐户进行实例化:

+ (instancetype)twitterAPIOSWithFirstAccount;

或提供特定帐户,如果您愿意:

+ (instancetype)twitterAPIOSWithAccount:(ACAccount *)account;
于 2015-01-14T12:02:43.603 回答