发布于 2020-03-13 22:35:22
多亏了上面Rahul Mishra提供的代码,我找到了解决方案。我犯了一个错误,在异步函数中调用RNTwitterSignIn.init(Constants.TWITTER_COMSUMER_KEY, Constants.TWITTER_CONSUMER_SECRET。这在android上有效,但在ios上什么都没有发生。但是在我用他的代码修改了我的代码后,这个方法起作用了,让我意识到了我的错误。再次感谢
发布于 2020-03-12 15:05:05
这是我的react-native-twitter的完整代码,它在iOS和android上都有效:位于我调用的类的顶部:
const { RNTwitterSignIn } = NativeModules
const Constants = {
//Dev Parse keys
TWITTER_COMSUMER_KEY: "************************",
TWITTER_CONSUMER_SECRET: "********************************************************"
}这是我的查看文件按钮:
<TouchableOpacity onPress={() => this.twitterSignIn()}>
<Image style={styles.socialBtn} source={require('../images/twitter.png')}/>
</TouchableOpacity>我在这里调用twitterSignIn函数:
twitterSignIn = () => {
const fcmSocialToken = this.state.tokenFcm;
RNTwitterSignIn.init(Constants.TWITTER_COMSUMER_KEY, Constants.TWITTER_CONSUMER_SECRET)
RNTwitterSignIn.logIn()
.then(loginData => {
const { authToken, authTokenSecret } = loginData
if (authToken && authTokenSecret) {
// You can use this data here and move next
}
})
.catch(error => {
console.log(error)
}
)
}对于iOS,您需要更新info.plist:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>twitterkit-YCZNs*********</string>
<string>fb**********</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.************</string>
</array>
</dict>
</array>如果有什么问题,请告诉我。
https://stackoverflow.com/questions/60648762
复制相似问题