_pod install
_を実行すると問題が発生します__ポッドを常にダウングレードReact Installing React 0.11.0 (was 0.55.4)
私のポッドファイル:
_# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
platform :ios, '9.0'
project 'BunteMobile.xcodeproj'
target 'BunteMobile' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for BunteMobile
pod 'Adjust', '~> 4.8.3'
pod 'Google-Mobile-Ads-SDK'
pod 'GoogleAds-IMA-iOS-SDK', '~> 3.7'
pod 'Fabric', '~> 1.7.0'
pod 'Crashlytics', '~> 3.9'
pod 'lottie-ios', :path => '../node_modules/lottie-ios'
pod 'lottie-react-native', :path => '../node_modules/lottie-react-native'
target 'BunteMobileTests' do
inherit! :search_paths
# Pods for testing
end
end
_
_node_modules
_からreactフォルダーを定義したときにいくつかの解決策について読みましたが、この解決策も私にとっては機能しません。
私はこれをpodfileに入れました:
_pod 'yoga', path: './node_modules/react-native/ReactCommon/yoga'
pod 'React', :path => '../node_modules/react-native'
_
しかし、それでも機能しません。ダウングレードは消えますが、ビルドしようとすると、次のエラーが発生します。
_/node_modules/react-native/React/Base/RCTConvert.h:17:9: could not build module 'yoga'
_
私は公式のRNドキュメント( https://facebook.github.io/react-native/docs/integration-with-existing-apps.html )と同じプロファイルを試しましたが、それでも同じエラーが発生しました。
これをポッドファイルに追加しました:
_# Pods for React-Native start
pod 'React', :path => '../node_modules/react-native'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
_
_ # Pods for React-Native start
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
_
ポッドファイルからnode_modules
行を削除し、xCodeにライブラリを手動で追加するだけです。
react-native link <someLibrary>
を実行すると、RNがそのライブラリをポッド依存関係として自動的に追加する場合があることを確認しました。
私の場合、このエラーはreact-native-webviewで発生しました。
修正するには:
Podファイルからnode_modules/react-native-webview
行を削除しただけです、次に
そのライブラリを他のライブラリの近くのxCodeに追加しました
node_modules/some_library/ios/RNCWebView.xcodeproj
inをプロジェクトライブラリファイルにドラッグ
ライブラリの依存関係をbuild phases link binary with libraries
に追加します
RNを既存のネイティブアプリに統合する場合は、podfileをおおまかに this のようにする必要があります。つまり、React依存関係のパスをpod 'React', :path => '../node_modules/react-native' ...
で指定します
グリーンフィールドRNアプリを開発していますか?もしそうなら、それはあなたが抱えている問題を引き起こす可能性が高いので、ポッドファイルにpod 'lottie-react-native', :path => '../node_modules/lottie-react-native'
を含めたくないでしょう。
代わりに、react-native link lottie-react-native
を実行する前に、リポジトリの外観に戻ります。このコマンドは、おそらくpod 'lottie-react-native', :path => '../node_modules/lottie-react-native'
行をポッドファイルに追加しました。今、あなたは手動のインストール手順に従うことができます(私はそこにないことがわかりますが、あなたはチェックすることができます これら 、それは同じことになります)またはあなたは以下を行うことができます:削除lottie-react-native.podspec
from node_modules/lottie-react-native
を実行してから、react-native link lottie-react-native
を実行します。依存関係はpodfileに追加されませんが、代わりに静的libとしてバイナリにリンクされます。