Reputation: 1481
My goal is to get the new Xcode 10.2 compile and run our projects that are build using Swift 3 and 4.2 (some cocoapods too) and since Xcode 10.2 comes with Swift 5, an unsupported swift error came up when trying to run the projects out of the box (this is expected):
The solution here is to use an older toolchain as stated on blogs like this, which i did.
All good so far. However, after installing the Swift 3 toolchain from Swift.org, compiling the project will bring the following error:
Command /Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc failed with exit code 1
I already deleted Derived Data folder, cleanup pods (my podfile) and reinstalled them, restarted Xcode and Mac multiple times.
Running xcrun -f swift
and swift --version
will indeed print the correct swift 3.0 toolchain
Yes, I know I could just stay with Xcode 10.1 and don't have these issues. Code migration to Swift 4 is also an option but we don't have the time at hand for now so I'm trying to workout this walkaround.
Please help me to resolve this issue, I'm completely stuck. Thanks in advance.
Upvotes: 8
Views: 9084
Reputation: 31
Using Swift 4.2.1 toolchain work for me.
But https://swift.org/download/#using-downloads tips:
To submit to the App Store you must build your app using the version of Swift that comes included within Xcode.
Upload to apple connect probably reject by apple.
Upvotes: 3
Reputation: 347
Swift 5 no longer supports the Swift 3 Package.swift tools-version. Packages still on the Swift 3 Package.swift tools-version should update to a newer tools-version. (41974124)
Source Compatibility As with Swift 4.2, the vast majority of sources that built with the Swift 4.2 compiler should compile with the Swift 5.0 compiler.
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.
Upvotes: 5