12 votes

React Native Facebook Login utilisant le fbsdk officiel

J'ai essayé de suivre le démarreur tutorial en créant un nouveau projet React Native pour iOS. Mais le bouton de connexion ne semble pas fonctionner. Toute aide est appréciée.

Voici l'index.ios.js :

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';

const FBSDK = require('react-native-fbsdk');
const {
  LoginButton
} = FBSDK;

var Login = React.createClass({
  render: function() {
    return (
      <View>
        <LoginButton
          publishPermissions={["publish_actions"]}
          onLoginFinished={
            (error, result) => {
              if (error) {
                alert("login has error: " + result.error);
              } else if (result.isCancelled) {
                alert("login is cancelled.");
              } else {
                alert("login has finished with permissions: " + result.grantedPermissions)
              }
            }
          }
          onLogoutFinished={() => alert("logout.")}/>
      </View>
    );
  }
});

class AwesomeProject extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text>
          Login to Facebook
        </Text>
        <Login />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  shareText: {
    fontSize: 20,
    margin: 10,
  }
});

AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);

Et la capture d'écran de l'émulateur : enter code here

6voto

dzhuowen Points 162

Vous devez lier le projet iOS du sdk dans le projet de votre application.

Si vous utilisez react-native-sdk v0.2.0+, rnpm se chargera de cette étape et vous pourrez suivre les conseils suivants aquí pour terminer la mise en place.

Si vous utilisez l'ancienne version, vous devez lier react-native-fbsdkxxx.xcodeproj dans YourApp.xcodeproj. Suivez les étapes de liaison manuelle dans https://facebook.github.io/react-native/docs/linking-libraries-ios.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X