title: Flutter error on pod install: CocoaPods could not find compatible versions for pod "Firebase/CoreOnly"
body: <p>My Flutter app is not working on my iOS device, while it's working perfectly on android. I'm getting an error on <code>pod install</code></p>
  <p>This is the output of <code>pod install --verbose</code></p>
  <pre><code>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
  -&gt; Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
  -&gt; Fetching podspec for `cloud_functions` from `.symlinks/plugins/cloud_functions/ios`
  -&gt; Fetching podspec for `contacts_service` from `.symlinks/plugins/contacts_service/ios`
  -&gt; Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios`
  -&gt; Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
  -&gt; Fetching podspec for `flutter_crashlytics` from `.symlinks/plugins/flutter_crashlytics/ios`
  -&gt; Fetching podspec for `local_auth` from `.symlinks/plugins/local_auth/ios`
  -&gt; Fetching podspec for `onesignalflutter` from `.symlinks/plugins/onesignalflutter/ios`
  -&gt; Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
  -&gt; Fetching podspec for `permission` from `.symlinks/plugins/permission/ios`
  -&gt; Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios`
  -&gt; Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios`
  
  Resolving dependencies of `Podfile`
  [!] CocoaPods could not find compatible versions for pod &quot;Firebase/CoreOnly&quot;:
    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 (~&gt; 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 `&lt;top (required)&gt;'
  /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 `&lt;main&gt;'
  
  [!] 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`.
  </code></pre>
  <p>And this is my Podfile:</p>
  <pre><code># CocoaPods analytics sends network stats synchronously affecting flutter build latency.
  ENV['COCOAPODS_DISABLE_STATS'] = 'true'
  
  project 'Runner', {
    'Debug' =&gt; :debug,
    'Profile' =&gt; :release,
    'Release' =&gt; :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 = [&quot;#&quot;, &quot;/&quot;]
    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(&quot;#{path}&quot;, file_abs_path)
          pods_ary.push({:name =&gt; podname, :path =&gt; podpath});
        else
          puts &quot;Invalid plugin specification: #{line}&quot;
        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 &quot;Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first.&quot;
    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 =&gt; 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 =&gt; File.join(symlink, 'ios')
    }
  end
  
  target 'OneSignalNotificationServiceExtension' do
    use_frameworks!
    pod 'OneSignal', '&gt;= 2.9.3', '&lt; 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
  </code></pre>
  <p>And this is my pubspec.yaml:</p>
  <pre><code>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: &quot;&gt;=2.0.0-dev.68.0 &lt;3.0.0&quot;
  
  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 &quot;variants&quot;, 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 &quot;flutter&quot; section. Each entry in this list should have a
    # &quot;family&quot; key with the font family name, and a &quot;fonts&quot; 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
  </code></pre>
  <p>The error is happening mainly because of a conflict between cloud functions and authentication firebase libraries.</p>
  <p>I'm totally new to the pod, and can't seem to find a solution online of my case. I've tried the answer from <a href="https://stackoverflow.com/a/40102370">https://stackoverflow.com/a/40102370</a> but it did not work.</p>
  <p>Any recommendations on how to fix this?</p>