web-dev-qa-db-ja.com

"RCTBundleURLProvider.h"ファイルが見つかりません - AppDelegate.m

XCodeでReact Nativeアプリを実行しようとしていますが、このエラーが発生し続けます。問題を解決する方法がわかりません。助言がありますか?

XCodeのエラーのスクリーンショット:

screenshot

113
FilosoferKing

ノードモジュールを削除してから、npm install(またはもっと良い糸)を実行し、すべてのダウンロードが完了したら、react-native upgradeを実行します。あなたの問題を解決するはずのネイティブ。もちろんXcodeであなたのプロジェクトをきれいにすることを忘れないでください。

59

xcode Product-> Scheme-> Manage Schemesはターゲットで '+'をクリックして "React"を選択し、Reactが共有されるように設定します。

240
mark

React Native 0.40.0以上を使用しているすべての人にとって、Header ImportsはRN 0.40.0から大幅に変更されています。 hファイルにエラーが見つかりません。デバッグ中はreact-native-git-upgradeさんが問題を解決しましたが、リリース/アーカイブでビルドが失敗します。

私はRN 0.42.3をcocoapodsとXcode 8.2.1を使っています

これを完全に修正するには、Xcode> Product> Scheme> Edit Scheme>に移動します。

  1. チェックを外す並列化ビルドenter image description here
  2. Targetsの+ボタンをクリックしてReactを追加する enter image description here
  3. 追加したReactをTargetsのListの一番上にドラッグします。 enter image description here

今すぐプロジェクトをきれいにしてビルド

19
Hariks

他の提案のどれも私の間違いを直していませんでした、しかしこれはそれをしました。

1 - Podfileを作成する

以下の内容で、react-nativeアプリケーション内にios/Podfileという名前のファイルを作成します。

# 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 - Podfileをインストールする

Iosフォルダ内からpod installコマンドを実行します。

3 - Xコードをリセット

XCodeを再起動するとエラーは消えます。

17
Erich

私が最初にXCodeでReactビルドを実行した後にこの問題に遭遇しました、そして、私がしなければならなかったことはエラーを消すために実際にビルドして実行することでした。 XCodeは、最初にコンパイルしてリンクするまで実際にはエラーではないエラーを表示することがあります。

9
Dave Cole

私は以下のステップでこの問題を解決しました:

  1. Xcodeでプロジェクトルートを選択してください。
  2. LibrariesからReact.xcodeprojをプロジェクトのルートにドラッグします。
  3. SaleKitのプロジェクト名(私の場合はTARGETS)をクリック
  4. Build Phasesを選択
  5. Target DependenciesのドロップダウンにReactを追加してください
  6. 再構築または再実行

enter image description here

7
Robust

私のために働く解決策はReactスキームを共有することです。

Reactスキームがない場合は、Selecting scheme menu -> Manage Scheme -> + -> choose Reactで新しいものを作成し、Reactスキームを共有としてマークします。

enter image description here

enter image description hereenter image description here

また、Xcode 10を使用している場合は、File -> Project Settingsに移動してLegacy build systemを選択してください。

enter image description here

6
onmyway133

React Nativeの "0.54.2"で私の場合は、私は次の解決策でそれを解決しました

XcodeでProduct->Scheme->Manage Schemesを選択し、「あなたのプロジェクト」の選択を解除します - tvOSはそれを共有しないに設定します

5
Echo7

プロジェクトディレクトリでnpm installを実行して、このエラーを解決するreact-nativeをインストールしてください。

3
Paul Brittain

Podのインストール後に.xcodeprojファイルを実行している可能性があります。

閉じて.xcworkspaceファイルを開きます。それは私のために働きました。

3
Saranjith

最善の解決策:

Xcodeでプロジェクトの[ビルド設定]を開き、[ヘッダー検索パス]を検索します。

他のプロパティが 'yes'または 'no'を持っている 'Header Search Path'の隣にあるダブルクリック

それでは(ビルド設定の下の) "Header Search Path"に以下を追加してください。

$(SRCROOT)/../ node_modules/react-native/React $(SRCROOT)/../ node_modules/react-native/React/Base忘れないでください。両方とも再帰的にしてください。

2
Mega Area

以下を試してください。

  1. きれい(cmd+shift+K).
  2. コアReactを構築 - XcodeのスキームとしてReactを選択して構築します(cmd+B).
  3. 失敗しているライブラリをビルドします(例:RCTText)。
  4. アプリをビルドします。
2
jyson

私は同じ問題を抱えていて、私はRNFIRMessaging.hReact/RCTBundleURLProvider.hの上に置くことでそれを修正しました

だから私はこんな感じになるでしょう:

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

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

「製品」 - >「方式」 - >「方式の管理」 - > +をクリックします。それから共有として反応を追加します。また、あなたのプロジェクト名もあることを確認してください。

1
Eran Or

私は同じ問題に直面した。私はこれらのステップを使用するためにノード.tryを削除した。

  1. Node_modulesフォルダーを削除します - rm -rf node_modules && npm install
  2. パッケージャキャッシュのリセット - rm -fr $ TMPDIR/react- *またはnode_modules/react-native/packager/packager.sh --reset-cache
  3. クリアウォッチマンウォッチ - watchman watch-del-all

それからビルドして見てください

1
Sport

私が実行するプロジェクトのベースディレクトリで:

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

その結果、

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

他のパッケージャプロセスが実行されているとパッケージマネージャを実行できないことがわかりました。

私はプロセスが以下で実行されているのを見つけました:

lsof -i :8081

私よりkill 9 ...プロセス。

私がXcodeを閉じた後に、実行してください:

npm install

そして、Xcodeを再び起動しました。この瞬間から、すべてが期待通りに動作します。

1
Oded Regev

Reactをアップグレードした後のこの問題に対する私の修正は、#import "RCTBundleURLProvider.h"の宣言を#import <React/RCTBundleURLProvider.h>に変更することであることがわかりました。

1
ays0110

私はすべての提案を試してみましたが、私はリポジトリを削除してクローンを作成し直しましたが、私にとっては有効なリポジトリを作成し直します。

0
ragar90

npm installを実行していなければ、この問題が発生する可能性があります。

0
Harkirat Saluja

私は上記のすべての答えを見てきました。

これは私のために働いた解決策です:

ステップ1:

実行します。

npm install react-native-fcm --save 

これにより、プロジェクト内のnode_modules> react-native-fcmの下にディレクトリーが作成されます。

Add react-native-fcm to your project

ステップ2:

ビルド設定のヘッダ検索パスに'$(SRCROOT)/../node_modules/react-native-fcm/ios'を追加する必要があります。

Add to header search paths

これら2つのステップは私にとってエラーを取り除くのに役立ちました。

詳細については、次のリンクを見てください。

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

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

0
Harjot Singh