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