やりたいこと
ReactNativeで作成するiOSアプリにTwitterログインを導入したい。
問題が発生した状況
以下のライブラリに沿って、導入を進めました。
リンク内容
https://github.com/GoldenOwlAsia/react-native-twitter-signin
そこで、ちゃんと機能するかログを出して確認したところ、以下のようになりました。
RNTwitterSignIn が定義されていませんでした。
実装したコード
javascript
1const {RNTwitterSignIn} = NativeModules; 2const TwitterKeys = { 3 TWITTER_CONSUMER_KEY: 'TWITTER_CONSUMER_KEY', 4 TWITTER_CONSUMER_SECRET: 'TWITTER_CONSUMER_SECRET', 5}; 6 7_socialSignIn = async providerId => { 8 try { 9 const credential = await getCredential(providerId); 10 await auth() 11 .signInWithCredential(credential) 12 .then(res => { 13 let userData = { 14 uid: res.user.uid, 15 displayName: res.user.displayName, 16 email: res.user.providerData[0].email, 17 photoURL: res.user.photoURL, 18 // userID: res.additionalUserInfo.username, 19 created_at: Date.now(), 20 updated_at: Date.now(), 21 }; 22 if (res.additionalUserInfo.isNewUser) { 23 return firestore() 24 .collection('users') 25 .doc(res.user.uid) 26 .set(userData); 27 } 28 29 this.props.globalState.setUserData(userData); 30 }) 31 .then(() => { 32 console.log('success'); 33 }) 34 .catch(err => { 35 console.log(err); 36 }); 37 38 this.props.navigation.navigate('App'); 39 } catch (e) { 40 if (e.code === 'auth/account-exists-with-different-credential') { 41 Alert.alert( 42 'ログインエラー', 43 '他のログイン方法で\nアカウント登録されています', 44 [{text: 'OK', onPress: () => console.log('OK Pressed')}], 45 ); 46 } 47 console.log(e.message); 48 } 49 }; 50}
info.plist(consumerkey等はしっかり入力してあります。)
xcode
1<key>CFBundleURLTypes</key> 2<array> 3 <dict> 4 <key>CFBundleURLSchemes</key> 5 <array> 6 <string>twitterkit-<consumerKey></string> 7 </array> 8 </dict> 9</array> 10<key>LSApplicationQueriesSchemes</key> 11<array> 12 <string>twitter</string> 13 <string>twitterauth</string> 14</array>
package.json
javascript
1 "react-native-twitter-signin": "^1.1.1"
podfile
javascript
1 pod 'TwitterKit', '~> 3.3.0'
以上の情報から、何かおかしい点や気になる点があったら教えていただきたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 11:25
2020/08/08 04:21
2020/08/08 04:22