Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swift Language Version error #155

Closed
domliang opened this issue Dec 14, 2018 · 7 comments
Closed

Swift Language Version error #155

domliang opened this issue Dec 14, 2018 · 7 comments

Comments

@domliang
Copy link

🐛 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:
📱 iOS

@erf
Copy link

erf commented Jan 1, 2019

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

@erf
Copy link

erf commented Jan 4, 2019

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

@erf
Copy link

erf commented Jan 5, 2019

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

@htetwaiyan
Copy link

Yes, I also too

@htetwaiyan
Copy link

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

@KeshavAdityaRP
Copy link

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.

@miniBloq
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants