Sto cercando di eseguire la mia app React Native in XCode e continuo a ricevere questo errore. Non riesco a capire come risolvere il problema. Eventuali suggerimenti?
Schermata di errore in XCode:
Sto cercando di eseguire la mia app React Native in XCode e continuo a ricevere questo errore. Non riesco a capire come risolvere il problema. Eventuali suggerimenti?
Schermata di errore in XCode:
Risposte:
Elimina i moduli del nodo, quindi esegui npm install(o meglio ancora filato) e dopo che tutto è terminato il download, esegui react-native upgradeche dovrebbe darti la possibilità di sostituire i vecchi file con quelli del modello, così facendo ricolleghi le tue dipendenze native in react-native che dovrebbe risolvere il tuo problema. Ovviamente non dimenticare di pulire il tuo progetto in Xcode.
react-native upgradetutte le mie impostazioni di compilazione sono state eliminate.
xcode Product-> Scheme-> Manage Schemes fai clic su "+" nel Target per selezionare "React" e impostare React come condiviso.
Per tutti coloro che utilizzano React Native 0.40.0 o versioni successive, le importazioni di intestazioni hanno un cambiamento importante da RN 0.40.0 e si traducono in molti errori di file .h non trovati. react-native-git-upgraderisolto il problema per me durante il debug ma la compilazione non riesce nel rilascio / archivio.
Sto usando RN 0.42.3 con cocoapods e Xcode 8.2.1
Per risolvere completamente questo problema, vai su Xcode> Prodotto> Schema> Modifica schema>



Ora pulisci il progetto e crea
Nessuno degli altri suggerimenti stava correggendo il mio errore, ma questo lo ha fatto.
Crea un file denominato ios/Podfileall'interno della tua app reattiva nativa con i seguenti contenuti:
# You Podfile should look similar to this file. React Native currently does not support use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '<YOUR_APP_NAME>' do
# Fixes required for pod specs to work with rn 0.42
react_native_path = "../node_modules/react-native"
pod "Yoga", :path => "#{react_native_path}/ReactCommon/yoga"
pod "React", :path => react_native_path, :subspecs => [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
# when not using frameworks we can do this instead of including the source files in our project (1/4):
# pod 'react-native-maps', path: '../../'
# pod 'react-native-google-maps', path: '../../' # <~~ if you need GoogleMaps support on iOS
end
Esegui il comando pod installdall'interno della cartella ios.
Riavvia XCode e l'errore dovrebbe essere sparito.
Mi sono imbattuto in questo problema dopo il mio primo tentativo di eseguire una build React in XCode, e tutto ciò che dovevo fare era effettivamente compilare ed eseguire per eliminare l'errore (dopo aver scelto una squadra e un corretto provisioning). A volte XCode mostra errori che non sono realmente errori fino a quando non compila e collega le cose la prima volta.
La soluzione che funziona per me è condividere lo Reactschema.
Se non hai uno schema React, creane uno nuovo Selecting scheme menu -> Manage Scheme -> + -> choose React, quindi contrassegna lo schema React come Condiviso
Inoltre, se utilizzi Xcode 10, vai a File -> Project Settingse seleziona Sistema di compilazione legacy
Ho risolto questo problema seguendo i passaggi:
React.xcodeprojda Librariesalla radice del progetto.SaleKit) inTARGETSBuild PhasesTarget DependenciesaddReactPer il mio caso in ReactNative "0.54.2", l'ho risolto con la seguente soluzione
In Xcode select Product->Scheme->Manage Schemes, deseleziona 'YourProject'-tvOS e impostalo su non condiviso
Soluzione migliore :
Apri "Impostazioni build" per il tuo progetto in Xcode, cerca "Percorso di ricerca intestazione".
Fare doppio clic accanto a "Percorso di ricerca intestazione", dove altre proprietà hanno un "sì" o "no"
Ora aggiungi quanto segue al "Percorso di ricerca dell'intestazione" (in Impostazioni build):
$(SRCROOT)/../node_modules/react-native/React
$(SRCROOT)/../node_modules/react-native/React/Base
Non dimenticare Rendi entrambi ricorsivi.
Esegui npm installnella directory del tuo progetto per installare react-nativerisolvendo questo errore.
Nella directory di base del progetto che corro:
node_modules/react-native/packager/packager.sh --reset-cache
Il risultato è stato:
Scanning 554 folders for symlinks in /Users/..../work/..../react_tutorial/AwesomeProject/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/..../work/...../react_tutorial/AwesomeProject
Loading dependency graph... ERROR Packager can't listen on port 8081
Most likely another process is already using this port
Run the following command to find out which process:
lsof -i :8081
Ho scoperto che il gestore di pacchetti non può essere eseguito quando è in esecuzione un altro processo di confezionamento.
Ho trovato il processo in esecuzione con:
lsof -i :8081
Di me kill 9 ...il processo.
Dopo aver chiuso Xcode, esegui:
npm install
E ho riavviato Xcode, da questo momento tutto funziona come previsto !!
Ho avuto lo stesso problema e l'ho risolto posizionando RNFIRMessaging.h sopra React / RCTBundleURLProvider.h
Quindi sembra che assomiglierò a:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
Prova quanto segue:
Ho riscontrato lo stesso problema, quindi ho eliminato il nodo .Prova a utilizzare questi passaggi
quindi costruisci e guarda
Per me sostituzione
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
di
#import <RCTBundleURLProvider.h>
#import <RCTRootView.h>
nel file AppDelegate.m ha funzionato.
Se non corri, npm installè probabile che incontri questo problema.
Ho esaminato tutte le risposte sopra menzionate.
Ecco la soluzione che ha funzionato per me:
PASSO 1:
Correre:
npm install react-native-fcm --save
Ciò si traduce nella creazione della directory nel progetto in node_modules> react-native-fcm
PASSO 2:
È necessario aggiungere '$(SRCROOT)/../node_modules/react-native-fcm/ios'ai percorsi di ricerca dell'intestazione nelle impostazioni di build.
Questi 2 passaggi hanno funzionato per me per rimuovere l'errore.
Per maggiori dettagli puoi passare attraverso questi link:
Nel mio caso, non ho potuto eliminare node_modules e reinstallare e non ho nemmeno potuto fare react-native-git-updgradeoreact-native upgrade perché volevo rimanere su RN-0.59 perché .60 causa problemi alle mie dipendenze.
Comunque la mia situazione era che mi mancava il file "React / RCTBundleURLProvider.h". Avevo già React disponibile nei miei schemi. Non era nella directory delle mie librerie. Ho controllato il mio obiettivo impostazioni di build del .
All'interno delle dipendenze di destinazione, avevo anche React.
Ho eliminato la dipendenza di destinazione "React", quindi ho aggiunto di nuovo. cartelle di build pulite, progetto ricostruito. ha funzionato.
Sto usando React Native 0.61. Ho creato un'estensione di condivisione e ho ricevuto questo errore. Avevo bisogno di sostituire:
#import "RCTBundleURLProvider.h"
con
#import "React/RCTBundleURLProvider.h"
è necessario installare React Native, in terminal run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
poi
brew install node
brew install watchman
npm install -g react-native-cli
fonte:
https://facebook.github.io/react-native/docs/getting-started.html
Assicurati che il percorso del tuo progetto non abbia spazi. Basta rinominare le cartelle e cancellare gli spazi risolve il problema per me.