Flutter-geolocator: Swift Language Version error

Created on 14 Dec 2018  ·  7Comments  ·  Source: Baseflow/flutter-geolocator

🐛 Bug Report

build error

flutter  === BUILD TARGET permission_handler OF PROJECT Pods WITH CONFIGURATION Debug ===The “Swift Language Version” (SWIFT_VERSION) build setting must be set to asupported value for targets which use Swift. Supported values are: 3.0, 4.0, 4.2.This setting can be set in the build settings editor

Version: 1.x

Platform:
:iphone: iOS

Most helpful comment

I got it working by adding the following to my ios/Podfile as suggested here.

target 'Runner' do
  use_frameworks!  # required
  ...
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.2'  # required
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

All 7 comments

I'm also unable to run/build using the geolocator 2.1.1 and the following flutter version on an iOS device:

Flutter 1.0.0 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 5391447fae (5 weeks ago) • 2018-11-29 19:41:26 -0800
Engine • revision 7375a0f414
Tools • Dart 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

swift --version prints

Apple Swift version 4.2.1 (swiftlang-1000.11.42 clang-1000.11.45.1)
Target: x86_64-apple-darwin18.2.0

I'm on a macOS 10.14.1.

I created a new Flutter project, added android.permission.ACCESS_FINE_LOCATION permission to AndroidManifest.xml and NSLocationWhenInUseUsageDescription to info.plist, and added geolocator: ^2.1.1 to pubspec.yaml.

I get the following error on flutter run :

Running pod install...                                       0.9s
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Finding Podfile changes
      A geolocator
      A google_api_availability
      A permission_handler
      - Flutter
      - path_provider
      - shared_preferences

    Fetching external sources
    -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
    -> Fetching podspec for `geolocator` from `.symlinks/plugins/geolocator/ios`
    -> Fetching podspec for `google_api_availability` from `.symlinks/plugins/google_api_availability/ios`
    -> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
    -> Fetching podspec for `permission_handler` from `.symlinks/plugins/permission_handler/ios`
    -> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`

    Resolving dependencies of `Podfile`

    Comparing resolved specification to the sandbox manifest
      A Flutter
      A geolocator
      A google_api_availability
      A path_provider
      A permission_handler
      A shared_preferences

    Downloading dependencies

    -> Installing Flutter (1.0.0)

    -> Installing geolocator (2.1.1)

    -> Installing google_api_availability (1.0.4)

    -> Installing path_provider (0.0.1)

    -> Installing permission_handler (2.1.2)

    -> Installing shared_preferences (0.0.1)
      - Running pre install hooks
    [!] Unable to determine Swift version for the following pods:

     - `geolocator` does not specify a Swift version and none of the targets (`Runner`) integrating it have
     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.\n- `google_api_availability` does not specify a Swift
     version and none of the targets (`Runner`) integrating it have 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.\n- `permission_handler` does not specify a Swift version and none of the targets
     (`Runner`) integrating it have 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.0.beta.1/lib/cocoapods/installer/xcode/target_validator.rb:1
    15:in `verify_swift_pods_swift_version'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.1/lib/cocoapods/installer/xcode/target_validator.rb:3
    7:in `validate!'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.1/lib/cocoapods/installer.rb:443:in
    `validate_targets'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.1/lib/cocoapods/installer.rb:124:in `install!'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.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.0.beta.1/lib/cocoapods/command.rb:52:in `run'
    /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.0.beta.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:
↳

    [!] 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`.

Error running pod install

I got it working by adding the following to my ios/Podfile as suggested here.

target 'Runner' do
  use_frameworks!  # required
  ...
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.2'  # required
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

Also seem i need to have Cocoapod version 1.5.3 installed. Not the latest 1.6 beta version.

Yes, I also too

i have find solution,
geolocator and onesignal is used at the same time, it has error,
so not used geolocator, use only location

I am on Cocoapod version 1.6. Can someone tell me how to downgrade to Cocoapod version 1.5.3 using brew ?

I'm unable to find the way to this.

I am on Cocoapod version 1.6. Can someone tell me how to downgrade to Cocoapod version 1.5.3 using brew ?

I'm unable to find the way to this.

I found this answer in StackOverflow useful for downgrading: https://stackoverflow.com/a/20489489/6348097

Was this page helpful?
0 / 5 - 0 ratings