Je viens de mettre à jour RN v0.62 et l'exécution de l'application sur iOS me donne l'erreur suivante
!] CocoaPods could not find compatible versions for pod "ReactCommon/jscallinvoker":
In snapshot (Podfile.lock):
ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)
In Podfile:
ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)
None of your spec sources contain a spec satisfying the dependency: `ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)`.
J'ai supprimé tous les node_modules et ai fait npm i. J'ai également installé le pod dans le répertoire iOS mais le problème persiste. J'ai également fait la mise à jour de pod repo.
Ce problème se produit dans mon projet après la mise à niveau React Native
vers la version 0.63.0
donc pour la solution je viens de supprimer le Podfile.lock
et supprimez tout le Podfile
et ajoutez le nouveau contenu d'une nouvelle installation React Projet natif sur la dernière version et cela signifie que son contenu doit être:
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
require_relative '../node_modules/react-native/scripts/react_native_pods'
platform :ios, '10.0'
target '[YourProjectName]' do
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
target '[YourProjectName]Tests' do
inherit! :complete
# Pods for testing
end
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
end
target '[YourProjectName]-tvOS' do
# Pods for [YourProjectName]-tvOS
target '[YourProjectName]-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
Note: il est évident que vous devez remplacer le nom de votre projet par [YourProjectName]
.
Après cela, exécutez npx pod-install
à la racine de votre projet et tout reviendra sur la bonne voie.
React-Native configure maintenant les pods de manière dynamique, vous n'avez donc plus besoin de les lister chacun d'eux;
use_react_native! (: chemin => config ["reactNativePath"])
Voici ce que vous obtenez d'un fichier Podfile de base 63.1:
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '10.0'
target 'test' do
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
target 'testTests' do
inherit! :complete
end
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
end
target 'test-tvOS' do
target 'test-tvOSTests' do
inherit! :search_paths
end
end
J'ai résolu ce problème (version 0.63) en modifiant la ligne dans le Podfile
de
pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
à
pod 'React-callinvoker', :path => "../node_modules/react-native/ReactCommon/callinvoker"