3

Twitter アカウントを使用して iOS アプリにログインする必要があります。
ケース 1: iPhone に Twitter アプリが存在する場合、Twitter アプリにログインする必要があり、ログインに成功したら、自分のアプリにリダイレクトする必要があります。
ケース 2: Twitter アプリが iPhone に存在しない場合、既定のブラウザーから 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];
    }

Twitter アプリが iPhone に存在する場合、上記のコード行で Twitter アプリを開くことができますが、Twitter でのログイン成功後にアプリにリダイレクトする方法を教えてください。

誰か助けてください。

4

2 に答える 2

0

コントロールがアプリから渡されると、プログラムでユーザーを元に戻す方法はありません。彼らは手動で戻ってくる必要があります。そうは言っても、iPhone はアプリなしで Twitter にログインできるため、Apple が提供する Twitter API を調べてください。ユーザーがアプリから離れて 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 に答える