web-dev-qa-db-fra.com

UMModuleRegistryAdapter.h introuvable lors de l'exécution de React Application native dans le simulateur iOS

J'ai une simple application React Native que j'ai testée sur Android et que je veux maintenant tester sur iOS. Elle utilise React Navigation.

L'Iran npm run ios mais j'obtiens l'erreur suivante:

info In file included from 

/Users/rbbit/reactnative/testproj1/ios/testproj1/main.m:10:

/Users/rbbit/reactnative/testproj1/ios/testproj1/AppDelegate.h:9:9: fatal error: 'UMReactNativeAdapter/UMModuleRegistryAdapter.h' file not found

#import <UMReactNativeAdapter/UMModuleRegistryAdapter.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

info 1 error generated.

J'ai ouvert XCode mais je reçois essentiellement le même message, rien d'autre qui pourrait m'aider à déboguer cela.

Je vois qu'il y a un package appelé react-native-adapter ( https://github.com/expo/expo/tree/master/packages/%40unimodules/react-native-adapter ), Cependant, j'hésite à simplement l'installer car j'ai suivi les instructions sur la façon d'inclure React-Navigation et je ne l'ai pas mentionné, en supposant que cela soit lié.

En outre, cette page indique If you are using react-native-unimodules, this package will already be installed and configured!, et react-native-unimodules est déjà dans mes dépendances.

Des conseils sur la façon de résoudre ce problème? Je vous remercie!

9
Sandy

Pour les dernières versions RN (RN 0.60+), des erreurs comme celle-ci doivent être corrigées avec la liaison automatique et simplement en exécutant un pod install.

Pour les versions plus anciennes, vous devriez essayer:

react-native link dans le dossier racine de votre projet

Puis dans Xcode Product->Clean Build dossier, redémarrez le serveur JS et essayez de reconstruire.

Si cela ne fonctionne toujours pas, vérifiez les configurations à partir d'ici:

https://github.com/unimodules/react-native-unimodules

et le App.delegate d'ici: https://Gist.github.com/brentvatne/1ece8c32a3c5c9d0ac3a470460c656

Sources:

Le rappel d'installation de pod a été suggéré pour la première fois par Sandy dans le commentaire ci-dessous

9
Florin Dobre

pod install N'a pas fonctionné pour moi jusqu'à ce que j'ajoute ces lignes à mon fichier pod:

require_relative '../node_modules/react-native-unimodules/cocoapods.rb'

Et

use_unimodules!(modules_paths: ['../node_modules'])

Faites ensuite un pod install.

Exemple: https://Gist.github.com/sjchmiela/6c079f2173938a9a61a7c6f053c450

0
Allen