回答:
ノードモジュールを削除し、実行npm install
(またはより適切な方法)を実行react-native upgrade
し、すべてのダウンロードが完了したら実行します。これにより、元の依存関係を反応ネイティブに再リンクすることにより、古いファイルをテンプレートファイルに置き換えるオプションが提供されます。あなたの問題を修正する必要があります。もちろん、Xcodeでプロジェクトをクリーンアップすることを忘れないでください。
react-native upgrade
ビルドしています。実行した後、すべてのビルド設定が削除されました。
xcode Product-> Scheme-> Manage Schemesターゲットで「+」をクリックして「React」を選択し、Reactが共有されるように設定します。
それらすべてがReact Native 0.40.0以降を使用しているため、ヘッダーインポートはRN 0.40.0から大幅に変更され、多くの.hファイルが見つからないというエラーが発生します。react-native-git-upgrade
デバッグ中の問題を修正しましたが、リリース/アーカイブでビルドが失敗します。
cocoapodsとXcode 8.2.1でRN 0.42.3を使用しています
これを完全に修正するには、Xcode> Product> Scheme> Edit Scheme>に移動します
プロジェクトをクリーンアップしてビルドします
他の提案はどれも私のエラーを修正していませんでしたが、これはそれを行いました。
ios/Podfile
次の内容で、react-nativeアプリ内にという名前のファイルを作成します。
# 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
pod install
iosフォルダー内からコマンドを実行します。
XCodeを再起動すると、エラーは発生しなくなります。
XCodeでReactビルドを最初に実行した後でこの問題に遭遇しました。実際にビルドして実行し、エラーを解消しました(チームと適切なプロビジョニングを選択した後)。XCodeは、最初にコンパイルしてリンクするまで、実際にはエラーではないエラーを表示することがあります。
私のために働く解決策は共有することです React
スキームすることです。
Reactスキームがない場合は、で新しいスキームを作成しSelecting scheme menu -> Manage Scheme -> + -> choose React
、ReactスキームをSharedとしてマークします
また、Xcode 10を使用する場合は、File -> Project Settings
レガシービルドシステムに移動して選択します
私は次の手順でこの問題を解決しました:
React.xcodeproj
からLibraries
プロジェクトのルートにドラッグします。SaleKit
)をクリックします。TARGETS
Build Phases
Target Dependencies
追加のドロップダウンReact
私のReactNative "0.54.2"の場合、私は次の解決策でそれを解決しました
Xcode selectでProduct->Scheme->Manage Schemes
、 'YourProject'-tvOSのチェックを外し、共有しないように設定します。
私が実行するプロジェクトのベースディレクトリで:
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を再び起動し、この瞬間からすべてが期待どおりに動作します!!
私は同じ問題を抱えていたので、RNFIRMessaging.hをReact / RCTBundleURLProvider.hの上に配置して修正しました
だから私は次のようになります:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
以下を試してください:
私は同じ問題に直面しました。その後、ノードを削除しました。これらの手順を使用してみてください
その後、ビルドして見てください
実行していnpm install
ない場合は、この問題が発生する可能性があります。
上記のすべての答えを調べました。
ここに私のために働いた解決策があります:
ステップ1:
実行:
npm install react-native-fcm --save
この結果、プロジェクトのディレクトリがnode_modules> react-native-fcmの下に作成されます
ステップ2:
'$(SRCROOT)/../node_modules/react-native-fcm/ios'
ビルド設定でヘッダー検索パスを追加する必要があります。
これらの2つの手順は、私がエラーを取り除くのに役立ちました。
詳細については、次のリンクを参照してください。
私の場合、node_modulesを削除して再インストールすることはできませんでした。また、それができなかったreact-native-git-updgrade
かreact-native upgrade
、.60が依存関係に問題を引き起こすため、RN-0.59に留まることを望んでいたためです。
とにかく、私の状況は、「React / RCTBundleURLProvider.h」ファイルが見つからないことでした。私はすでにスキーマでReactを使用できました。それは私のライブラリディレクトリにありませんでした。ターゲットのビルド設定を確認しました。
ターゲットの依存関係の中で、Reactもそこにありました。
「React」ターゲット依存関係を削除してから、再度追加しました。クリーンアップされたビルドフォルダ、再構築されたプロジェクト。出来た。
React Native 0.61を使用しています。共有拡張機能を作成したところ、このエラーが発生しました。交換する必要がありました:
#import "RCTBundleURLProvider.h"
と
#import "React/RCTBundleURLProvider.h"
ターミナル実行で、ネイティブの反応をインストールする必要があります
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
その後
brew install node
brew install watchman
npm install -g react-native-cli
ソース:https :
//facebook.github.io/react-native/docs/getting-started.html
プロジェクトへのパスにスペースが含まれていないことを確認してください。フォルダーの名前を変更してスペースを削除するだけで問題は解決します。