1

J'ai essayé d'obtenir react-native-fbsdk pour travailler avec CocoaPods, puisque je préfère de loin aller chercher le SDK Facebook dans le cadre du processus pod install, mais je n'ai pas eu beaucoup de chance. Je suis conscient que je peux react-native link la bibliothèque npm et télécharger manuellement et ajouter les cadres nécessaires, mais cela semble plutôt stupide quand j'ai un gestionnaire de paquets parfaitement à ma disposition.Faire réagir-native-fbsdk pour travailler avec CocoaPods

A en juger par the documentation il devrait être assez simple - il suffit d'ajouter les pods nécessaires à la Podfile, non? Mais peu importe ce que j'essaie, les modules FBSDK natifs ne semblent jamais être inclus. J'ai essayé une foule de différents Podfile s, certains avec use_framework! et pod 'Bolts', certains avec seulement pod 'FBSDKCoreKit'. C'est celui que je suis actuellement sur:

target 'FacebookPods' do 
    pod 'FBSDKCoreKit' 
    pod 'FBSDKShareKit' 
    pod 'FBSDKLoginKit' 

    target 'FacebookPodsTests' do 
    inherit! :search_paths 
    end 
end 

Mais quand je lance mon application de test et essayer de faire quoi que ce soit avec le module react-native-fbsdk je reçois des erreurs sur les différents modules se plaignent d'être natifs non défini. Voici mon fichier index.ios.js, en essayant d'accéder au LoginManager:

import React, {Component} from "react" 
import {AppRegistry, Text} from "react-native" 
import {LoginManager} from "react-native-fbsdk" 

export default class FacebookPods extends Component { 
    componentWillMount() { 
    LoginManager.logInWithReadPermissions(["email"]) 
     .then(() => console.log("Success!")) 
     .catch((err) => console.log("Failure!", err)) 
    } 

    render() { 
    return <Text>Hello World</Text> 
    } 
} 

AppRegistry.registerComponent("FacebookPods",() => FacebookPods) 

Mais cela jette l'erreur dans undefined is not an object (evaluating 'LoginManager.logInWithReadPermissions'FBLoginManager.js. Une inspection plus approfondie de NativeModules montre qu'aucun module FBSDK natif n'est inclus. Je reçois aussi les avertissements suivants au lancement:

2017-07-13 19:50:19.006 [warn][tid:com.facebook.react.JavaScript] Warning: Native component for "RCTFBLikeView" does not exist 
2017-07-13 19:50:19.007 [warn][tid:com.facebook.react.JavaScript] Warning: Native component for "RCTFBLoginButton" does not exist 
2017-07-13 19:50:19.008 [warn][tid:com.facebook.react.JavaScript] Warning: Native component for "RCTFBSendButton" does not exist 
2017-07-13 19:50:19.009 [warn][tid:com.facebook.react.JavaScript] Warning: Native component for "RCTFBShareButton" does not exist 

Alors oui, je suis à une perte complète. Dans mon esprit, il suffit d'ajouter les cosses devrait être suffisant pour inclure les cadres. J'ai parcouru les interwebs pour toutes les étapes supplémentaires que j'ai peut-être manqué, mais il n'y en a pas beaucoup, sauf quelques problèmes sur le projet react-native-fbsdk qui ont depuis été supprimés.

+0

Je ne connais pas très bien les modules, mais avez-vous besoin d'un chemin? 'pod 'FacebookPods',: path => 'chemin/vers/lib /'' De ma mémoire, Facebook m'avait installé le SDK dans '~/Documents' donc ça peut être un problème avec le téléchargement/la recherche de la lib –

+0

Je crois que les modules 'FBSDK * Kit' sont également spécifiés dans le paquet' react-native-fbsdk', ce qui serait bien. Mais l'idée est d'éviter de télécharger et d'installer le SDK en dehors du projet et de glisser manuellement dans les frameworks. Avez-vous réussi à utiliser CocoaPods? – wjrrrl

+0

Non, nous venons de faire l'installation manuelle. Cette question parle d'installer le FBSDK normal avec des pods https://stackoverflow.com/a/30847447/3473220 Pas sûr comment RN le complique bien que –

Répondre

1

Il travaille pour moi avec mon PODFILE mis en place de cette façon (non pod sûr cadre Bolts est nécessaire):

pod 'Bolts' pod 'FBSDKCoreKit' pod 'FBSDKLoginKit' pod 'FBSDKShareKit'

Et je devais faire react-native link pour vous assurer que le libRCTFBSDK.a est dans ce XCode Build TARGET => build phrases => "Lier les binaires avec les bibliothèques". Sinon, vous devez probablement ajouter le libRCTFBSDK.a manuellement. J'ai trouvé qu'une fois que j'ai couru le react-native link et le libRCTFBSDK.a est dans cette liste, xCode alors compilé correctement.

+1

Je pense 'react-native-link' devrait être' react-native link' –

+0

J'ai ce problème et je peux voir qu'il n'y a pas libRCTFBSDK.a dans le lien binaire avec l'étape des bibliothèques. Lorsque j'essaie de l'ajouter, je ne peux pas le voir dans la liste non plus. Comment puis-je obtenir ce fichier? –