Mon application Flutter ne fonctionne pas sur mon appareil iOS, alors qu'elle fonctionne parfaitement sur Android. J'obtiens une erreur lors de l' pod install
Ceci est la sortie de pod install --verbose
name: kvote_app description: A new Flutter application. # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 # followed by an optional build number separated by a +. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # Read more about versioning at semver.org. version: 1.0.0+1 environment: sdk: ">=2.0.0-dev.68.0 <3.0.0" dependencies: flutter: sdk: flutter flutter_bloc: any color: any http: any equatable: any # permission_handler: ^2.1.2 cloud_functions: ^0.3.0 firebase_auth: ^0.11.0 font_awesome_flutter: any fancy_bottom_navigation: any permission: any contacts_service: any local_auth: any sqflite: any path_provider: any auto_size_text: any flutter_crashlytics: any url_launcher: any rflutter_alert: any onesignalflutter: git: git://github.com/jmrobles/OneSignal-Flutter-SDK.git dev_dependencies: flutter_test: sdk: flutter # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true # To add assets to your application, add an assets section, like this: assets: - assets/avatar.png - assets/logo.png - assets/img/login_logo.png # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.io/assets-and-images/#resolution-aware. # For details regarding adding assets from package dependencies, see # https://flutter.io/assets-and-images/#from-packages # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 # # For details regarding fonts from package dependencies, # see https://flutter.io/custom-fonts/#from-packages fonts: - family: WorkSansSemiBold fonts: - asset: assets/fonts/Work_Sans/WorkSans-SemiBold.ttf - family: WorkSansBold fonts: - asset: assets/fonts/Work_Sans/WorkSans-Bold.ttf - family: WorkSansMedium fonts: - asset: assets/fonts/Work_Sans/WorkSans-Medium.ttf
Et voici mon Podfile:
# 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 pods_ary = [] skip_line_start_symbols = ["#", "/"] File.foreach(file_abs_path) { |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) pods_ary.push({:name => podname, :path => podpath}); else puts "Invalid plugin specification: #{line}" end } return pods_ary end target 'Runner' do use_frameworks! # 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') # Flutter Pods generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig') if generated_xcode_build_settings.empty? puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first." end generated_xcode_build_settings.map { |p| if p[:name] == 'FLUTTER_FRAMEWORK_DIR' symlink = File.join('.symlinks', 'flutter') File.symlink(File.dirname(p[:path]), symlink) pod 'Flutter', :path => File.join(symlink, File.basename(p[:path])) end } # Plugin Pods plugin_pods = parse_KV_file('../.flutter-plugins') plugin_pods.map { |p| symlink = File.join('.symlinks', 'plugins', p[:name]) File.symlink(p[:path], symlink) pod p[:name], :path => File.join(symlink, 'ios') } end target 'OneSignalNotificationServiceExtension' do use_frameworks! pod 'OneSignal', '>= 2.9.3', '< 3.0' 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
Et voici mon pubspec.yaml:
alyzing dependencies Inspecting targets to integrate Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``) Using `ARCHS` setting to build architectures of target `Pods-OneSignalNotificationServiceExtension`: (``) Finding Podfile changes A contacts_service A firebase_auth A flutter_crashlytics A local_auth A onesignalflutter A path_provider A permission A sqflite A url_launcher - Flutter - OneSignal - cloud_functions - firebase_core Fetching external sources -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios` -> Fetching podspec for `cloud_functions` from `.symlinks/plugins/cloud_functions/ios` -> Fetching podspec for `contacts_service` from `.symlinks/plugins/contacts_service/ios` -> Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios` -> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios` -> Fetching podspec for `flutter_crashlytics` from `.symlinks/plugins/flutter_crashlytics/ios` -> Fetching podspec for `local_auth` from `.symlinks/plugins/local_auth/ios` -> Fetching podspec for `onesignalflutter` from `.symlinks/plugins/onesignalflutter/ios` -> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios` -> Fetching podspec for `permission` from `.symlinks/plugins/permission/ios` -> Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios` -> Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios` Resolving dependencies of `Podfile` [!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly": In snapshot (Podfile.lock): Firebase/CoreOnly (= 5.20.2) In Podfile: firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) was resolved to 0.0.1, which depends on Firebase/Auth (~> 6.0) was resolved to 6.0.0, which depends on Firebase/CoreOnly (= 6.0.0) It seems like you've changed the constraints of dependency `Firebase/CoreOnly` inside your development pod `firebase_auth`. You should run `pod update Firebase/CoreOnly` to apply changes you've made. /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in unwind_for_conflict' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:257:in `process_topmost_state' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/resolver.rb:91:in `resolve' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:909:in `block in resolve_dependencies' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:907:in `resolve_dependencies' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:114:in `analyze' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:266:in `analyze' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:174:in `block in resolve_dependencies' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:173:in `resolve_dependencies' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:136:in `install!' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb:48:in `run' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/claide-1.0.2/lib/claide/command.rb:334:in `run' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in `run' /usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/bin/pod:55:in `<top (required)>' /usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `load' /usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `<main>' [!] Automatically assigning platform `ios` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`. [!] Automatically assigning platform `ios` with version `10.0` on target `OneSignalNotificationServiceExtension` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
L'erreur se produit principalement en raison d'un conflit entre les fonctions cloud et les bibliothèques d'authentification Firebase.
Je suis totalement nouveau sur pod et je n'arrive pas à trouver une solution en ligne à mon cas. J'ai essayé la réponse de https://stackoverflow.com/a/40102370 mais cela n'a pas fonctionné.
Des recommandations sur la façon de résoudre ce problème?
4 Réponses :
Cela a fonctionné pour moi après avoir supprimé le fichier Podfile.lock et le répertoire Pod, puis à nouveau installer le pod manuellement à l'aide de la commande pod install
.
Essayez d'utiliser ces commandes dans le terminal:
rm -rf ~/.cocoapods/repos pod setup
J'ai le même problème.
Vous ne devez pas laisser les versions de pubspec.yaml définies sur "any". Après avoir résolu les versions, vous devez le réparer pour qu'il soit stable.
Essayez d'ajouter cette ligne dans la plate-forme Podfile: ios, '10 .0 '
Veuillez être plus précis sur la ligne et assurez-vous de répondre en entier. Nous devrons voter, à moins que vous ne corrigiez cela ... Bonne chance @Pierre
Duplicata de stackoverflow.com/questions/56055142/...
Est-ce que cela répond à votre question? CocoaPods n'a pas pu trouver de versions compatibles pour le pod "Firebase / CoreOnly"