1

私は使用しています

(void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler

私のセッションを開くには、うまくいきます。開いた後、次の方法で読み取り権限を取得します。

(void)requestNewReadPermissions:(NSArray*)readPermissions completionHandler:(FBSessionRequestPermissionResultHandler)handler

これは問題なく動作しますが、ユーザーが Mobile Safari (またはおそらく Facebook iOS アプリ、テストされていない) を介してサインインすると、ユーザーは 2 回前後にジャンプします (アプリでログインをタップし、Mobile Safari にジャンプし、そこにログインし、ジャンプします。アプリに戻り、Mobile Safari に戻り、アクセス許可を承認し、アプリに戻ります。

リピーター ユーザー - 私のアプリからサインアウトした (そしてトークンを削除した) ユーザーも、2 倍のジャンプを取得します - Mobile Safari がユーザーにアプリを既に承認したことを通知するたびに。

を使用してネイティブ iOS ログインを優先するため、openWithBehavior を使用していFBSessionLoginBehaviorUseSystemAccountIfPresentます。これの最初のアクセス許可要求 ( など) と組み合わせたバージョンは見当たりませんopenActiveSessionWithReadPermissions...

後続のログインでは、アクセス許可が既に認識されていることを望んでいsession.permissionsましたが、テストでは、requestNewReadPermissionsが呼び出されるまでその値は null です。

いずれかまたは両方のシナリオ (最初のユーザー ログイン、その後のユーザー ログイン) からダブル ジャンプを削除しても、同じアクセス許可を取得することはできますか?

4

1 に答える 1