C'est l'erreur que je reçois. J'ai essayé de nettoyer le flottement et de changer la syntaxe de certaines lignes, mais je suis nouveau dans Dart et Flutter, donc je ne suis pas vraiment sûr. J'ai également réinstallé les gousses de cacao et le rubis, mais je reçois la même erreur. Je me suis également assuré de mettre à jour Ruby vers la dernière version.
# Uncomment this line to define a global platform for your project # platform :ios, '9.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' project 'Runner', { 'Debug' => :debug, 'Profile' => :release, 'Release' => :release, } def parse_KV_file(file, separator='=') file_abs_path = File.expand_path(file) if !File.exists? file_abs_path return []; end generated_key_values = {} skip_line_start_symbols = ["#", "/"] File.foreach(file_abs_path) do |line| next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } plugin = line.split(pattern=separator) if plugin.length == 2 podname = plugin[0].strip() path = plugin[1].strip() podpath = File.expand_path("#{path}", file_abs_path) generated_key_values[podname] = podpath else puts "Invalid plugin specification: #{line}" end end generated_key_values end target 'Runner' do use_frameworks! use_modular_headers! # Flutter Pod copied_flutter_dir = File.join(__dir__, 'Flutter') copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') unless File.exist?(generated_xcode_build_settings_path) raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" end generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; unless File.exist?(copied_framework_path) FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) end unless File.exist?(copied_podspec_path) FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) end end # Keep pod path relative so it can be checked into Podfile.lock. pod 'Flutter', :path => 'Flutter' # Plugin Pods # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock # referring to absolute paths on developers' machines. system('rm -rf .symlinks') system('mkdir -p .symlinks/plugins') plugin_pods = parse_KV_file('../.flutter-plugins') plugin_pods.each do |name, path| symlink = File.join('.symlinks', 'plugins', name) File.symlink(path, symlink) pod name, :path => File.join(symlink, 'ios') end end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' end end end
Ceci est mon fichier de pod.
[!] Invalid `Podfile` file: no implicit conversion of nil into String. # from /Users/(name)/Downloads/Projects/doctor_consultation_app/ios/Podfile:57 # ------------------------------------------- # unless File.exist?(copied_framework_path) > FileUtils.cp(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) # end # -------------------------------------------
8 Réponses :
J'ai le même problème lorsque je met à jour mon Mac -> BigSur et j'utilise Ruby.
et je le résout par rm -rf iOS
et Flutter Create.
Corrigez ensuite quelques modifications de fichiers dans les nouveaux iOS
Si vous utilisez sur votre application existante, elle a supprimé votre dossier iOS, mais vous pouvez contenir des paramètres personnalisés. Vous devez donc ajouter votre engagement dans le nouveau fichier !!!
N'utilisez pas cela sur votre application existante, ce dossier iOS et la commande Flutter Create créera un nouveau projet. Heureusement, j'utilise Git et je pouvais réinitialiser avec mon engagement.
Vous devez ajouter un test "avertissement" dans votre solution pour les applications existantes
Vous devez définir le chemin du projet sur le script, vous pouvez également spécifier le paltform que vous créez, c'est-à-dire Flutter Create --platforms = iOS [project_path]
. Remplacez [project_path] par le chemin réel du projet Flutter.
Je le résout simplement: copiéed_flutter_dir = file.join (__ dir__, 'flutter')
à copied_flutter_dir = file.join ('.', 'flutter')
.
J'étais en bêta de la chaîne et j'ai résolu comme ça. Flutter Channel stable et mise à niveau de Flutter
En partageant juste mon expérience avec ce type de problème, il semble que ce soit essentiellement un problème de version de pods. J'ai travaillé sur plusieurs plates-formes hybrides, et il s'avère que toutes les plates-formes sont en difficulté lorsqu'ils se construisent pour iOS. Voici comment je l'ai résolu:
Flutter Channel
pour voir le canal actif, puis passez à stable si sa version bêta sélectionnée en exécutant la commande Flutter Channel stable
rm -rf ios / pods
rm -rf iOS / .SymLinks
rm -rf ios / flutter / flutter.framework
Flutter Clean
cd iOS
au cas où vous n'êtes pas dans le dossier iOS. cache pod Clean - tout
Pod Repo Update
Pod Install
non commentée: iOS, 'x.0'
à partir de podfile à l'intérieur du dossier iOS, et remplacez x par la version actuelle que vous agitez. Flutter Build iOS
mieux utiliser - Verbose
pour voir si d'autres problèmes sont là. J'espère que cela vous aidera si quelqu'un est resté au même problème. Merci à ces gars.
Obtenir ce gâchis aussi. Je n'ai rien fait à cet arbre de code dans quelques mois, et maintenant cela. Je jure que cette plate-forme devient de plus en plus fragile chaque jour. Je devais essentiellement faire toutes ces conneries, toutes les suggestions, pour le faire fonctionner et je reçois toujours de nouvelles erreurs d'exécution qui avaient déjà disparu (la chose de filetage que les gens continuent de signaler). Tout ce que je voulais faire était de l'installer sur un autre téléphone que j'avais ici. Aucun code ou dépendance ne change. J'ai bien fonctionné la dernière fois que j'étais ici. Je ne peux pas continuer à soutenir cette plate-forme comme celle-ci.
Le fichier POD peut changer en fonction du canal que vous utilisez. Essayez de mettre à jour Flutter
flutter build ios
Supprimer votre fichier de pod et le dossier PODS puis reconstruisez votre projet iOS
flutter channel stable flutter upgrade
J'ai dû supprimer le podfile et l'ajouter, puis ajouter mes extensions. Maintenant, cela semble fonctionner à nouveau. La plupart du fichier a été supprimé, par exemple le nouveau fichier n'a pas de méthode parse_kv_file
.
J'ai obtenu cette erreur lorsque j'ai mis à jour mon SDK Flutter vers le nouveau Flutter 2.0, mais mon projet a été créé avec une version plus ancienne de Flutter SDK (1.22).
l'a corrigé par enlevant le podfile.lock
dans le dossier iOS puis exécuter:
flutter build ios
ou
flutter run
c'est la réponse +1
Parfait! Merci!
Vous devrez peut-être décomiser la "plate-forme: iOS, '9.0'" pour construire avec succès.
C'est une bonne réponse. Merci mec!
pls Assurez-vous de supprimer dans .dart_tool
du dossier de la racine du projet,
Ensuite, dans le dossier iOS
, essayez Flutter Clean
et build Flutter iOS
Qu'en est-il de nettoyer tout le cache?
De plus, changez-vous le podfile?
Je suis confronté à la même solution s'il vous plaît?
Même problème ici, une solution?