"Use Legacy Swift Language Version" (Swift_Version) Is Required to Be Configured Correctly for Targets Which Use Swift."

“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift.

Xcode 8 seems to be wrongfully displaying a nonexistent ("phantom", if you will) No. There's a trivial fix for this:

  1. Click the tiny arrow next to SWIFT_VERSION to toggle the drop-down list.
  2. Set the values for Debug and Release to Yes.
  3. Set the values for Debug and Release back to No.

The image below was taken just after setting Debug to No. Xcode shows that both Debug and Release are set to No, however SWIFT_VERSION reads <Multiple Values>:

Sample Image

From this, I can only conclude that it is a bug; and that some value (or more probably a null value) is being misrepresented as No.

“Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift

In the navigator selection bar, click the magnifying glass, then search for "SWIFT_VERSION" You will find the places in the project where you can adjust the swift version accordingly.

Sample Image

Sample Image

Use Legacy Swift Language Version - Xcode 8.2

Found work around. I went through each target (and project settings, so both in the project and target) in my project, toggled the "Use Legacy Swift Language Version" from "No" to "Yes" and back to "No" for each. The project then built again.

Sample Image

Xcode 8.3 Swift Version Error (SWIFT_VERSION) In Objective C Project

So the answer to this is to go to the build settings and click the + icon at the top left (as per screen shot below). Then choose to add a User Defined parameter with SWIFT_VERSION and a value of 3.0. Build the app and it should run fine.

Sample Image

I also added the following to my Pod file too to automatically do the same process for the pod dependency build settings, although this alone did not resolve the problem:

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end

Xcode 8 Beta 3 Use Legacy Swift issue

I have been ignoring this problem for a while now and just working on other stuff in the meantime - I finally found the solution to my problem.

Since my project is Objective-C I figured maybe one of the Pods I am using was using Swift, I checked each Pod and none of them were.

The final solution was that my Core Data model was set to generate code in Swift even though I have been manually generating them in the File > New > NSManagedObjectSubclass menu. All I had to do was switch it to Objective-C.

screenshot



Related Topics



Leave a reply



Submit