ノードモジュールを削除してから、npm install
(またはもっと良い糸)を実行し、すべてのダウンロードが完了したら、react-native upgrade
を実行します。あなたの問題を解決するはずのネイティブ。もちろんXcodeであなたのプロジェクトをきれいにすることを忘れないでください。
xcode Product-> Scheme-> Manage Schemesはターゲットで '+'をクリックして "React"を選択し、Reactが共有されるように設定します。
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>に移動します。
今すぐプロジェクトをきれいにしてビルド
他の提案のどれも私の間違いを直していませんでした、しかしこれはそれをしました。
以下の内容で、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
Iosフォルダ内からpod install
コマンドを実行します。
XCodeを再起動するとエラーは消えます。
私が最初にXCodeでReactビルドを実行した後にこの問題に遭遇しました、そして、私がしなければならなかったことはエラーを消すために実際にビルドして実行することでした。 XCodeは、最初にコンパイルしてリンクするまで実際にはエラーではないエラーを表示することがあります。
React Nativeの "0.54.2"で私の場合は、私は次の解決策でそれを解決しました
XcodeでProduct->Scheme->Manage Schemes
を選択し、「あなたのプロジェクト」の選択を解除します - tvOSはそれを共有しないに設定します
プロジェクトディレクトリでnpm install
を実行して、このエラーを解決するreact-native
をインストールしてください。
Podのインストール後に.xcodeproj
ファイルを実行している可能性があります。
閉じて.xcworkspace
ファイルを開きます。それは私のために働きました。
最善の解決策:
Xcodeでプロジェクトの[ビルド設定]を開き、[ヘッダー検索パス]を検索します。
他のプロパティが 'yes'または 'no'を持っている 'Header Search Path'の隣にあるダブルクリック
それでは(ビルド設定の下の) "Header Search Path"に以下を追加してください。
$(SRCROOT)/../ node_modules/react-native/React $(SRCROOT)/../ node_modules/react-native/React/Base忘れないでください。両方とも再帰的にしてください。
以下を試してください。
私は同じ問題を抱えていて、私はRNFIRMessaging.hをReact/RCTBundleURLProvider.hの上に置くことでそれを修正しました
だから私はこんな感じになるでしょう:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
「製品」 - >「方式」 - >「方式の管理」 - > +をクリックします。それから共有として反応を追加します。また、あなたのプロジェクト名もあることを確認してください。
私は同じ問題に直面した。私はこれらのステップを使用するためにノード.tryを削除した。
それからビルドして見てください
私が実行するプロジェクトのベースディレクトリで:
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を再び起動しました。この瞬間から、すべてが期待通りに動作します。
Reactをアップグレードした後のこの問題に対する私の修正は、#import "RCTBundleURLProvider.h"
の宣言を#import <React/RCTBundleURLProvider.h>
に変更することであることがわかりました。
私はすべての提案を試してみましたが、私はリポジトリを削除してクローンを作成し直しましたが、私にとっては有効なリポジトリを作成し直します。
npm install
を実行していなければ、この問題が発生する可能性があります。
私は上記のすべての答えを見てきました。
これは私のために働いた解決策です:
ステップ1:
実行します。
npm install react-native-fcm --save
これにより、プロジェクト内のnode_modules> react-native-fcmの下にディレクトリーが作成されます。
ステップ2:
ビルド設定のヘッダ検索パスに'$(SRCROOT)/../node_modules/react-native-fcm/ios'
を追加する必要があります。
これら2つのステップは私にとってエラーを取り除くのに役立ちました。
詳細については、次のリンクを見てください。