J'essaie de créer un plugin Flutter, j'ai donc créé un plugin par étapes fournies sur https://flutter.dev/docs/development/packages-and-plugins/developing-packages . J'obtiens une erreur lorsque j'essaye d'exécuter l'exemple ios. Vous trouverez ci-dessous le journal que j'obtiens lors de l'exécution de l'exemple d'application iOS.
Est-ce que quelqu'un peut m'aider avec ça?
Running pod install... CocoaPods' output: Analyzing dependencies Inspecting targets to integrate Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``) Fetching external sources -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios` -> Fetching podspec for `flutter_plugin` from `.symlinks/plugins/flutter_plugin/ios` Resolving dependencies of `Podfile` Comparing resolved specification to the sandbox manifest A Flutter A flutter_plugin Downloading dependencies -> Installing Flutter (1.0.0) -> Installing flutter_plugin (0.0.1) - Running pre-install hooks [!] Unable to determine Swift version for the following pods: - `flutter_plugin` does not specify a Swift version and none of the targets (`Runner`) integrating it has the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod. /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/target_validator.rb:115:in `verify_swift_pods_swift_version' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer/xcode/target_validator.rb:37:in `validate!' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:459:in `validate_targets' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:138:in `install!' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb:48:in `run' /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in `run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/bin/pod:55:in `<top (required)>' /usr/local/bin/pod:22:in `load' /usr/local/bin/pod:22:in `<main>' Error output from CocoaPods: [33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding. Consider adding the following to ~/.profile: Error running pod install
5 Réponses :
Vous devez définir votre version Swift car flutter_plugin did not specify a Swift version by default
Dans votre ios/Podfile
ajoutez
target 'Runner' do use_frameworks! # required by simple_permission ... end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.1' # required by simple_permission config.build_settings['ENABLE_BITCODE'] = 'NO' end end end
De la manière suivante:
config.build_settings['SWIFT_VERSION'] = '4.1' # required by simple_permission
Vous pouvez également consulter ce fil de discussion github et cette discussion de stackoverflow pour plus de détails sur les raisons pour lesquelles cela s'est produit.
J'ai le problème. lorsque nous créons un plugin par commande sur le terminal, cela crée un plugin avec Java par défaut pour Android et Objective-C pour iOS. Il peut être changé en Kotlin pour Android et Swift pour iOS à l'aide d'une commande, mais il ajoutera la prise en charge uniquement pour android/
et ios/
dans le dossier racine. Cela ne modifie pas l'exemple de code dans le répertoire example/
. Les exemples fournis sont toujours en Java pour Android et Objective-C pour iOS. Alors j'ai créé un plugin depuis Android Studio, j'ai créé un support Swift pour iOS en cochant une option `` Inclure le support Swift pour le code ios '', cela a créé un exemple avec swift au lieu d'Objective-C. Ensuite, le problème est résolu.
Corrigé en mettant à jour le flutter et les cabosses de cacao vers la dernière version, puis
flutter clean rm -Rf ios/Pods rm -Rf ios/.symlinks rm -Rf ios/Flutter/Flutter.framework rm -Rf ios/Flutter/Flutter.podspec
Ne t'inquiète pas. Il existe une solution simple à cela. Créez ce fichier - AppResources / iOS / Podfile et ajoutez-le au fichier
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.0' end end end
C'est le SWIFT_VERSION de votre projet a été défini.
J'ai ajouté un paramètre de construction défini par l'utilisateur pour le Runner sur le nom de niveau du projet SWIFT-VERSION. Rien d'autre n'a fonctionné pour moi.