How to fix "SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0" error in Xcode 10.2?

XcodeSwift3xcode10.2

Xcode Problem Overview


I'm trying to run downloaded from app, try to open in Xcode and have an error: >" Showing Recent Messages
:-1: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'SimpleWeather')"

Screenshot added

Xcode Solutions


Solution 1 - Xcode

Select the target 'SimpleWeather' in the project and change language version Target->build setting -> Swift compiler language -> select 5, 4.2 etc

image of build setting for changing compiler language

Solution 2 - Xcode

******** Easiest way: **********

1.Click on PODs in the left column.

2.In the centre column select the pod you want, then navigate to "build settings" in the top right panel.

3.Then search "Swift Language Version" and change to a known version.

enter image description here enter image description here

Solution 3 - Xcode

For Xcode 10.1, select your Pods File

enter image description here

-> Go to Build Settings -> Choose your Pod -> Search "Swift" -> Navigate to "Swift Language version" -> Set to desired language version.

enter image description here

Solution 4 - Xcode

I followed the instructions on this page and the error didn't resolve. Finally, went into

$ vim MyProject.xcodeproj/project.pbxproj

and found two instances where

SWIFT_VERSION = 3.0;

was still being referenced. I changed those to 5.0 and the error was gone. Not sure why those two were still there.

Solution 5 - Xcode

  1. Select project
  2. Select Build SettingTab
  3. Select Swift Compiler language Option

enter image description here

Solution 6 - Xcode

enter image description hereselect pod like as per image and change swift language version this can save you one day

enter image description here

Solution 7 - Xcode

Search for Swift and double click, then change each offending version.

enter image description here

Solution 8 - Xcode

It seems that the app might have an old Swift version code like Swift 3.0 in your case. In the release of Xcode version 10.2 has launched Swift 5.0 version. Xcode 10.2 does not support compiler for Swift 3.0 version. You can change compiler from Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. If your code is compatible with that language version then it will run the code without error.

> However, the Swift 3 compatibility mode will not be supported in the > Swift 5 compiler. Swift 4.2 is the last release of Swift to support > Swift 3 mode. There are important changes to both the surface of the > language and the interior of its implementation in the releases > following Swift 3 that will be the basis of future (and lasting) > source and binary stability.

Refer below link for more details. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

If you really wish to run the app which has older Swift version code than you must have to use an older version of Xcode. You can use Xcode version 10.1, it's compiler having support for Swift 3.0 version.

Another alternative way is to migrate your old Swift code to the new version of the Swift version. You can migrate you Swift 3.0 to Swift 4.0 in Xcode 10.1 version.

For migration guide refer to this https://swift.org/migration-guide-swift4/

Solution 9 - Xcode

I opened up the file MyProject.xcodeproj (using VSCode editor)

and I found some lines where

> SWIFT_VERSION = 3.0;

(at about line 400 where it says /* Begin XCBuildConfiguration section */)

Modify to SWIFT_VERSION = 5.0 or others. After that I was able build and run the project.

Solution 10 - Xcode

I came across this issue while developing a Cocoapod. I had an old .swift-version file in my repo that specified Swift 3.0.

Running pod lib lint --verbose led me to this helpful response:

> Please remove the .swift-version file which is now deprecated and only use the swift_version attribute within your podspec.

I deleted the file and added spec.swift_version = '5.0' to my podspec file to fix the problem.

Solution 11 - Xcode

  1. Check this out:
    1. Click on Project name
    2. Click target
    3. Click on Build setting
    4. At the Swift Language Version: Choose Swift 4

enter image description here

enter image description here

Solution 12 - Xcode

If you multiple pod files like I did and you're having trouble finding the pod with SWIFT_Version = 3.0 try the search bar

Solution 13 - Xcode

Its very simple. Just follow this 2 steps to resolve this issue.

In Step 1:

  • Resolve Build Failed issue.
  • Covert Swift 3.0 to Swift 4.0 enter image description here

In Step 2:

  • Resolve all other warnings
  • Then Covert Swift 4.0 to Swift 5.0

enter image description here

Solution 14 - Xcode

  1. change pod's version on podfile (because library wrote old swift version )

  2. "pod install" on terminal

Solution 15 - Xcode

I am new to iOS development. After I followed all of the above answers, I still got the same error. I was using Xcode 11 and I downloaded the "FoodTracker" sample from Apple Developer web site and I got the same error after trying to build it. I found that the project has several settings referring to Swift language version after VIM the project file content. So, I resolved this by first setting the "Project > FoodTracker", and also "TARGETS > FoodTracker" and "TARGETS > FoodTrackerTests" the Swift Language Version to 5.0. Hope it helps.

Setting Swift Language Version on Project and ALL Targets

Solution 16 - Xcode

  1. open MyProject.xcodeproj/project.pbxproj in the editor (e.q. Sublime)

example Calculator.xcodeproj

  1. Rename all SWIFT_VERSION = 3.0; Rename all SWIFT_VERSION = 5.0;

enter image description here

Solution 17 - Xcode

PLease make sure that the your pod's version is compatiable with your swift's version. I have faced this issue when I had installed wrong version of pod (swift 2.3), But I was using swift 4

Solution 18 - Xcode

We can automate this using a post-install hook installing Cocoapods.

Add this to your Podfile:

    ..
    pod 'Alamofire' # Just an example for the last pod in list.
    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '5.0'
            end
        end
    end
end

This hook is helpful if you have lots of Pods as dependencies because we don't need to manually change the Build Settings for each pod. However, be sure to manually change some pods to 4.0 or 4.2 as outlined in the earlier answers if they don't support Swift 5 yet.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionvlad uvarovView Question on Stackoverflow
Solution 1 - XcodeXenekaView Answer on Stackoverflow
Solution 2 - XcodeKingsley MitchellView Answer on Stackoverflow
Solution 3 - XcodeDeepak ChaudharyView Answer on Stackoverflow
Solution 4 - XcodeForrestView Answer on Stackoverflow
Solution 5 - XcodeManoj RawatView Answer on Stackoverflow
Solution 6 - XcodeGovind WadhwaView Answer on Stackoverflow
Solution 7 - XcodeScottyBladesView Answer on Stackoverflow
Solution 8 - XcodeBhavin_mView Answer on Stackoverflow
Solution 9 - XcodeDan AlboteanuView Answer on Stackoverflow
Solution 10 - XcodeJustin VallelyView Answer on Stackoverflow
Solution 11 - XcodecodersView Answer on Stackoverflow
Solution 12 - XcodeWilliamView Answer on Stackoverflow
Solution 13 - XcodeArnab KunduView Answer on Stackoverflow
Solution 14 - XcodeErhan DemirciView Answer on Stackoverflow
Solution 15 - XcodeJo PoonView Answer on Stackoverflow
Solution 16 - XcodeLamhotView Answer on Stackoverflow
Solution 17 - XcodePrince KumarView Answer on Stackoverflow
Solution 18 - XcodePranav KasettiView Answer on Stackoverflow