wake-up-neo.com

Datei "RCTBundleURLProvider.h" nicht gefunden - AppDelegate.m

Ich versuche, meine React Native-App in XCode auszuführen, und ich erhalte diesen Fehler ständig. Ich kann nicht herausfinden, wie ich das Problem lösen kann. Irgendwelche Vorschläge?

Screenshot des Fehlers in XCode:

 screenshot

103
FilosoferKing

Löschen Sie Knotenmodule, führen Sie npm install (oder besser noch gar Garn) aus und starten Sie nach Abschluss des Downloadens react-native upgrade, wodurch Sie die Möglichkeit haben, alte Dateien durch Vorlagen zu ersetzen. native, die Ihr Problem beheben sollte. Vergessen Sie natürlich nicht, Ihr Projekt in Xcode zu säubern.

55

xcode Product-> Scheme-> Manage Schemes Klicken Sie am Ziel auf "+", um "React" auszuwählen, und legen Sie fest, dass das React gemeinsam genutzt wird.

224
mark

Bei allen, die React Native 0.40.0 oder höher verwenden, wurde bei Header-Importen eine wesentliche Änderung von RN 0.40.0 vorgenommen, was zu vielen nicht gefundenen Fehlern der .h-Datei führt. react-native-git-upgrade hat das Problem für mich während des Debugging behoben, der Build schlägt jedoch in Release/Archiv fehl.

Ich benutze RN 0.42.3 mit Cocoapods und Xcode 8.2.1

Um dies vollständig zu beheben, gehen Sie zu Xcode> Product> Scheme> Edit Scheme>

  1. Auswahl aufheben Parallelisieren von Build enter image description here
  2. Klicken Sie in den Targets auf die Schaltfläche + und fügen Sie Reacthinzu. enter image description here
  3. Ziehen Sie das hinzugefügte React an den Anfang der Liste unter Ziele  enter image description here

Bereinigen Sie jetzt das Projekt und bauen Sie

17
Hariks

Keiner der anderen Vorschläge hat meinen Fehler behoben, aber dieser hat es getan.

1 - Poddatei erstellen

Erstellen Sie in Ihrer reagierenden Anwendung eine Datei mit dem Namen ios/Podfile mit folgendem Inhalt:

# 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

2 - Installieren Sie die Poddatei

Führen Sie den Befehl pod install im ios-Ordner aus.

3 - XCode zurücksetzen

Starten Sie XCode neu und der Fehler sollte verschwunden sein.

16
Erich

Nach meinem ersten Versuch, einen React-Build in XCode auszuführen, bin ich auf dieses Problem gestoßen, und alles, was ich tun musste, war tatsächlich zu bauen und auszuführen, damit der Fehler behoben wurde (nachdem ein Team ausgewählt und die Bereitstellung ordnungsgemäß vorgenommen wurde). Manchmal zeigt XCode Fehler, die nicht wirklich fehlerhaft sind, bis sie beim ersten Mal kompiliert und verknüpft werden.

8
Dave Cole

Ich habe dieses Problem durch folgende Schritte gelöst:

  1. In xcode wähle Projektwurzel.
  2. Ziehen Sie React.xcodeproj von Libraries in den Stamm des Projekts.
  3. Klicken Sie in SaleKit auf den Projektnamen (in meinem Fall TARGETS).
  4. Wähle Build Phases
  5. Im Dropdown von Target Dependencies add React
  6. Wiederherstellen oder erneut ausführen

 enter image description here

6
Robust

Für meinen Fall in React Native "0.54.2" habe ich es mit folgender Lösung gelöst

Wählen Sie in Xcode Product->Scheme->Manage Schemes aus, und deaktivieren Sie das Kontrollkästchen "Your Project"

5
Echo7

Die Lösung, die für mich funktioniert, ist, das React-Schema zu teilen.

Wenn Sie kein Reaktionsschema haben, erstellen Sie ein neues mit Selecting scheme menu -> Manage Scheme -> + -> choose React und markieren Sie das Reaktionsschema als "Shared"

 enter image description here

 enter image description here  enter image description here

Wenn Sie Xcode 10 verwenden, wechseln Sie zu File -> Project Settings und wählen Sie Legacy Build System aus

 enter image description here

4
onmyway133

Führen Sie npm install in Ihrem Projektverzeichnis aus, um react-native zu installieren, der diesen Fehler behebt.

3
Paul Brittain

Möglicherweise führen Sie nach der Installation des Pods eine .xcodeproj-Datei aus. 

Schließen Sie es und öffnen Sie die .xcworkspace-Datei. Es hat für mich funktioniert.

2
Saranjith

Versuche Folgendes:

  1. Sauber (cmd+shift+K).
  2. Build core React - wähle React als Schema in Xcode und erstelle es (cmd+B).
  3. Erstellen Sie die fehlerhafte Bibliothek (z. B. RCTText).
  4. Erstellen Sie Ihre App.
2
jyson

Ich hatte das gleiche Problem und habe es behoben, indem ich RNFIRMessaging.h über dem React/RCTBundleURLProvider.h platzierte.

So sehe ich aus:

#import "AppDelegate.h"
#import "RNFIRMessaging.h"

#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
2
Jefferson Filho

klicken Sie auf Produkt-> Schema-> Schemas verwalten -> +. und dann als getauscht reagieren. Stellen Sie außerdem sicher, dass auch Ihr Projektname vorhanden ist. 

1
Eran Or

Ich stand vor demselben Problem. Dann habe ich den Knoten .Try gelöscht, um diese Schritte zu verwenden 

  1. Löschen Sie den Ordner node_modules - rm -rf node_modules &&npm install
  2. Packager-Cache zurücksetzen - rm -fr $ TMPDIR/react- * oder Node_modules/reactative/packager/packager.sh --reset-cache
  3. Klare Watchman-Uhren - Watchman Watch-del-All

dann bauen und sehen 

1
Sport

Beste Lösung :

Öffnen Sie 'Build Settings' für Ihr Projekt in Xcode und suchen Sie nach 'Header Search Path'.

Doppelklicken Sie neben "Header Search Path" (Header-Suchpfad), wo andere Eigenschaften "yes" oder "no" haben.

Fügen Sie dem "Header Search Path" (unter Build Settings) nun Folgendes hinzu:

$ (SRCROOT) /../ node_modules/reactative/React $ (SRCROOT) /../ node_modules/reactative/React/Base Nicht vergessen Machen Sie beide rekursiv.

1
Mega Area

Ich habe festgestellt, dass mein Update für dieses Problem nach dem Upgrade von React war, die Deklaration von #import "RCTBundleURLProvider.h" in #import <React/RCTBundleURLProvider.h> zu ändern

1
ays0110

Ich habe alle Vorschläge ausprobiert und keiner von ihnen hat an dem gearbeitet. Ich habe das Repo gelöscht und es erneut geklont und die Arbeit für mich, daher ist mein Vorschlag, Ihre Änderungen zu sichern und das Repo erneut zu klonen, das für mich funktioniert hat.

0
ragar90

Im Basisverzeichnis des Projekts führe ich aus:

node_modules/react-native/packager/packager.sh --reset-cache

Was dazu geführt hat:

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

Ich habe festgestellt, dass der Paketmanager nicht ausgeführt werden kann, wenn ein anderer Packagerprozess ausgeführt wird.

Ich fand den Prozess mit:

lsof -i :8081

Dann kill 9 ... der Prozess.

Nachdem ich Xcode geschlossen habe, führe Folgendes aus:

npm install

Und startete Xcode erneut, ab diesem Moment klappte alles wie erwartet !!

0
Oded Regev

Wenn Sie npm install nicht ausgeführt haben, wird dieses Problem wahrscheinlich auftreten.

0
Harkirat Saluja

Ich habe alle oben genannten Antworten durchgelesen.

Hier ist die Lösung für mich gearbeitet:

SCHRITT 1:

Lauf: 

npm install react-native-fcm --save 

Dies führt dazu, dass das Verzeichnis in Ihrem Projekt unter node_modules> react-native-fcm erstellt wird.

 Add react-native-fcm to your project

SCHRITT 2:

Sie müssen '$(SRCROOT)/../node_modules/react-native-fcm/ios' zu .__ hinzufügen. Header-Suchpfade in den Build-Einstellungen.

 Add to header search paths

Diese 2 Schritte funktionierten für mich, um den Fehler zu beheben.

Für weitere Details können Sie diese Links durchgehen:

https://github.com/evollu/react-native-fcm/issues/63

https://github.com/evollu/react-native-fcm/issues/21

0
Harjot Singh