私はFacebooksdk3.1を使用しており、コードを使用してFacebookオブジェクトを作成し、facebookobj = [[Facebook alloc] initWithAppId:appID andDelegate:self];
を呼び出し[facebookobj authorize:permissions]
ました。
また、Facebook.miのソースコードで[self.session openWithBehavior:FBSessionLoginBehaviorForcingWebView....]
、ログインが常にinapp-webviewを使用するように、使用するauthorizeメソッドを変更しました。
ユーザーが自分の資格情報を入力してログインを押すと、コールバックが返され- (void)fbDidLogin{........}
ます。このメソッドでは、セッションの状態とaccessTokenを確認します。予期しない結果が発生することがあります(アクセストークンがnilで、セッション状態がFBSessionStateCreatedOpeningです)。ほとんどの場合、ログインしています(アクセストークンが存在し、状態がFBSessionStateOpenです)。
この動作は可能ですか?最終的にFBSessionStateCreatedOpening状態になった場合、セッションを閉じるか無効にする必要がありますか?Facebook sdkは、セッション状態が開いている場合にのみ「fbDidLogin」コールバックを提供すると思いました。
注:私[FBSsession setActiveSession:facebookobj.session];
はfbDidLoginにも設定します。