web-dev-qa-db-fra.com

Erreur: le module principal RNFirebase n'a pas été trouvé de manière native sur iOS

J'ai créé une nouvelle application et j'essaie d'utiliser react-native-firebase. Mais je reçois continuellement cette erreur: 

Le module principal de RNFirebase n’a pas été trouvé de manière native sur iOS, assurez-vous que vous avez inclus correctement le pod RNFirebase dans les fichiers «Podfile» et .__ de vos projets. ont exécuté 'pod install'. 

Voir http://invertase.link/ios pour le guide de configuration ios.

Les étapes que j'ai faites: 

  1. yarn add react-native-firebase

  2. react-native link react-native-firebase

  3. Configurez mon fichier .plist à partir de Google sous .../myproject/ios/myproject 
  4. Ran pod updateaprès m'être assuré d'utiliser Ruby 2.5.0
  5. Ran pod installer

Le fichier pod que j'utilise actuellement est: 

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'MyProject' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!
    pod 'Firebase/Core'
    pod 'Firebase/Database'
    pod 'Firebase/Messaging'

  target 'MyProjectTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Ce sont les versions que j'utilise: 

"react": "^16.3.0-alpha.1",
"react-native": "0.54.2",
"react-native-firebase": "^3.3.1",
17
user8951490

Je préfère toujours ne pas utiliser les pods avec react native, cependant, les instructions de react-native-firebase pour l'installation non-pop ne fonctionneront pas.

La raison en est les chemins de recherche du paquet qui supposent soit/pods ou/firebase

 Source of the problem

Par conséquent, pour que le lien soit correctement suivi, procédez comme suit:

  1. télécharger firebase sdk
  2. créez un dossier directement sous ios et appelez-le Firebase, copiez les infrastructures nécessaires du sdk dans ce dossier SANS conserver les sous-dossiers (notez que vous n'avez pas encore entré le code X).
  3. Si vous n'avez pas encore installé npm install -s react-native-firebase
  4. Ouvrez XCode et faites glisser les infrastructures souhaitées dans le dossier Frameworks dans XCode (par exemple, dans mon exemple, le contenu du dossier Analytics, Messaging et DynamicLinks). Ne copiez pas les éléments demandés, car vous les avez déjà dans le sous-dossier Firebase de ios:  Add frameworks

  5. Dans XCode, cliquez avec le bouton droit de la souris sur Bibliothèques et sélectionnez "Ajouter des fichiers à [projet]". Recherchez le projet RNFirebase dans node_modules et sélectionnez le fichier RNFirebase.xcodeproj. Ne copiez pas les éléments  RN project file

  6. Dans les paramètres Projet/Cible, accédez à Frameworks and Libraries. Trouvez et ajoutez libRNFirebase.a  libRNFirebase.a

  7. Dans AppDelegate.m, effectuez les réglages conformément aux instructions de react-native-firebase, par exemple: import <Firebase.h> and [FIRAPP configure]; dans didFinishLaunchingWithOptions.

  8. Dans les chemins de recherche d'en-tête ET les chemins de recherche dans le cadre, ajoutez $(PROJECT_DIR)/Firebase
  9. N'oubliez pas de vous ajouter GoogleServices-Info.plist à votre projet
1
lovbrand

Si vous ne voulez pas lier manuellement, vous pouvez essayer d’installer RNFirebase en tant que pod installant directement:

pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'

Changer ou coder en dur HEADER_SEARCH_PATHS ne m'a pas aidé. Lorsque l'erreur se reproduit, il n'est pas nécessaire de rm -rf node_modules ni de supprimer le fichier pod, etc., il m'a paru utile d'effacer le cache.

0
ehacinom

J'ai eu le même problème, alors que j'essayais de résoudre le problème, mon application se bloquait au démarrage.

Je l'ai déplacé à travers le terminal sous le ios/AppFolder/ mais le Xcode n'a jamais été au courant de ce fichier.

Ce qui m'a aidé, c'est d'ouvrir mon projet sous Xcode. Cliquez ensuite sur mon AppFolder > Add Files, puis ajoutez le GoogleService-Info.plist.

0
Nico