I've update my flutter package to the last versions and now IOS doesn't work anymore.
When I try to update the pods it's shows this error:
[!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly": In Podfile: cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) was resolved to 0.0.1, which depends on Firebase/Firestore (~> 6.0) was resolved to 6.0.0, which depends on Firebase/CoreOnly (= 6.0.0) cloud_functions (from `.symlinks/plugins/cloud_functions/ios`) was resolved to 0.0.1, which depends on Firebase/Functions (~> 5.18) was resolved to 5.18.0, which depends on Firebase/CoreOnly (= 5.18.0)
Here my pubspec.yaml (Firebase related):
firebase_core: "^0.4.0" firebase_auth: "^0.11.0" firebase_analytics: "^3.0.0" cloud_firestore: "^0.11.0+1" cloud_functions: "^0.3.0" firebase_storage: "^3.0.0" firebase_messaging: "^5.0.1"
I've made various steps to try to fix:
flutter clean flutter build ios pod install pod update pod repo update pod install --repo-update
I've set platform :ios, '12.1' in Podfile and in Xcode as build target but nothing come back to works.
Here my podfile:
# Uncomment this line to define a global platform for your project platform :ios, '12.1' # 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 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
To solve CocoaPods could not find compatible versions for pod “Firebase/CoreOnly” Error Just follow all steps given. cd ios delete the Podfile. lock in the root directory rm -rf Podfile. lock after that run pod install Now your error must be solved.
cocoapods-repo-update is a CocoaPods plugin that checks your dependencies when you run pod install and updates the local specs repositories if needed.
Try calling pod repo update
if the issue is not fixed
delete the Podfile.lock in the root directory, after that run pod install
Edit the minimum ios version in the podfile then run pod install.
Changing platform :ios, '9.0'
to platform :ios, '10.0'
then running pod install
fixed it for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With