Reach NativeアプリケーションにFacebook認証を設定しています。 react-native-fbsdkのセットアップに関する通常の問題の後、Facebookアプリイベントが機能し、LoginManagerがロードされます。
私の問題:承認後、LoginManagerは私をアプリにリダイレクトし、エラーを表示します:
ログインに失敗しました
私は非常に標準的なLoginManager実装を使用しています:
const FBSDK = require('react-native-fbsdk');
const {
LoginManager,
AccessToken,
} = FBSDK;
export default class FacebookAuth extends Component {
facebook(){
LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(
function(result) {
if (result.isCancelled) {
alert('Login cancelled');
} else {
alert('Login success with permissions: '
+result.grantedPermissions.toString());
}
},
function(error) {
alert('Login fail with error: ' + error);
}
);
私に何かアドバイスはありますか?
私はすでにチェックしました:
私が実行しています:iOS 10および反応ネイティブ0.38.0。
ありがとう!
Facebook SDKでのログイン時のエラー— React Native
問題は、Facebook SDKが以前のセッショントークンを保持していることで、もう一度ログインしようとするとこのエラーが発生しました。この問題を解決するには、LoginManagerからlogOutメソッドを呼び出すだけでした。
前にこれを試してくださいLoginManager.logInWithReadPermissions...
LoginManager.logOut();
数時間後、さまざまな解決策を試しましたが、カッシアーノモンタナリとここからのザヴァドペのコメントのおかげで、なんとか修正することができました 不正なインストール
私はこの構成で終わりました:
ポッドファイル:
pod 'FBSDKCoreKit', '4.38.0'
pod 'FacebookSDK', '4.38.0'
pod 'FBSDKShareKit', '4.38.0'
pod 'FBSDKLoginKit', '4.38.0'
Link Binary With LibrariesにlibRCTFBSDK.a
を追加し、ポッドファイルから'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'
を削除する必要があります。
FBSDKを4.39にアップグレードした後、問題が発生し始めました。pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'
を使用しても、ポッドファイルにSDKバージョンを指定する方法が見つかりませんでした。
1つのオプションは Carthage を使用することだと思いますが、まだ試していません。
Cassiano Montanariのコメントによると、4.39.0から4.38.0へのダウングレードが修正です。私は午後中ずっとこれに苦労していましたが、格下げによりすぐに解決しました。