2016-05-14 40 views
12

iOS için yeni bir React Native Project kurarak başlatıcıyı tutorial izlemeye çalıştım. Ama giriş butonu çalışmıyor gibi görünüyor. Herhangi bir yardım takdir edilir.React Native Facebook Resmi fbsdk kullanarak oturum aç

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); 

Ve emülatörü ekran görüntüsü:

İşte index.ios.js var enter code here

+0

'daki el ile bağlantı adımlarını izleyin. Sorun, işlevsellikle mi yoksa stil mi? –

+1

İşlevselliği: Düğmeye tıklamak bir şey yapmaz. İhmal uyarısının bununla bir ilgisi olabilir mi? – philoniare

cevap

6

Uygulamanızın projede SDK'nın iOS projesini bağlamanız gerekir.

Eğer tepki-native-sdk v0.2.0 + kullanıyorsanız, rnpm bu adımı dikkate alacak ve kurulumu tamamlamak için here ipuçlarını takip edebilirsiniz.

Eski sürümü kullanıyorsanız, YourApp.xcodeproj dosyasında react-native-fbsdkxxx.xcodeproj bağlantısını bağlamanız gerekir. https://facebook.github.io/react-native/docs/linking-libraries-ios.html

+0

Anlıyorum, teşekkürler. Daha sonra deneyeceğim. Sadece merak ediyorum, Android iOS gibi manuel olarak bir kütüphane yüklemeden nasıl çalışır? – philoniare

+1

Android projesinde gradle kullanılıyor. Kütüphaneyi sunucudan çeker ve sizin için otomatik olarak ayarlar. – dzhuowen

+0

cool, takip eden cevap için teşekkürler :) – philoniare