1

またはブラウザ を使用STTwitterAPIしてログインしていました。ACAccountStore

これが私にとって問題を引き起こしている条件です。ユーザーがブラウザー (デフォルトのサファリ) から Twitter を使用してアプリにログインすると、アプリにコールバックされ、STTwitterAPIオブジェクトがデータを格納します。

すべて正常に動作します。そのアカウントを使ってツイートすることさえできます。しかし、ユーザーがブラウザー (デフォルトのサファリ) に切り替えて、Twitter アカウント (ログイン中に使用したもの) からログアウトし、アプリに戻ってツイートすると、古いアカウント (ログアウトする前にブラウザーで以前に関連付けられていたもの) で正常に実行されます。場合があります。

ユーザーがブラウザからログアウトしたときに、再度ログインするように依頼したいと思います。:も使用してみverifyCredentialsWithSuccessBlock:errorBlockましたが、古いユーザー (ログアウトしたユーザー) のユーザー詳細が返されます。

アップデート:

ユーザーがログインした後、アプリはユーザーをブラウザーにリダイレクトしません。私の懸念は、ユーザーが意図せずにブラウザーで twitter を開くと、ログイン中に使用されたアカウントにログインしているように表示されることです (そうである必要があります)。ユーザーは、そのアカウントからログアウトするか、アカウントを変更して、ブラウザーからアカウント (ログイン時に使用) をログアウトすることを決定します。

ログアウトされますが (これで問題ありません)、アプリに戻ってツイートしたり、Twitter アカウントで何かをしようとすると、再度ログインするよう求められるはずです。そのために、検証資格情報を使用しました。ただし、以前のログインのアクセス トークンは引き続き有効です。

では、ユーザーがブラウザからログアウトしたか、アカウントを切り替えたことをアプリに通知する方法。達成する方法はありますか。私は少なくとも一週間立ち往生しています。あらゆる選択肢を試しました。私の場合、どれもうまくいかないようです。どんな助けでも大歓迎です。ありがとうございました!!!

4

1 に答える 1

0

STTwitter フレームワークはあまり使用していません。しかし、TwitterKit by Fabric の方がはるかに使いやすいと自信を持って言えます。アプリで Twitter の SignUp と SignOut のシナリオに使用しましたが、提供されるメソッドで問題なく動作します。ここで確認できます:

https://dev.twitter.com/twitter-kit/ios/twitter-login

ログインの構文は次のとおりです。

[[Twitter sharedInstance] logInWithCompletion:^
            (TWTRSession *session, NSError *error) {
  if (session) {
      NSLog(@"signed in as %@", [session userName]);
  } else {
      NSLog(@"error: %@", [error localizedDescription]);
  }
}];

ログアウトには、– logOutそれぞれメソッドがあります。

于 2015-05-12T10:16:31.230 に答える