Support swift 5.9 with minimum 5.5 compatibility.
Summarize your change.
Support Swift 5.9, visionOS 1.0+, and a minimum iOS version of 12.
Add a list of changes, and note any that might need special attention during review.
- Created a new Swift Package manifest for backwards compatibility with Swift 5.5 and older.
- Bumped the existing Swift Package manifest to support a minimum of Swift 5.9 (the minimum required for Swift/C++ interop), visionOS 1.0 and later, and a minimum iOS version of 12.
Reference associated tests.
- All tests pass.
Noted by @jchen9 - this is likely necessary to use the cross-platform (Linux included) CGRect type (reference).
This version bump is required to be able to begin deprecating the Objective-C bindings and support Swift/C++ interop, and making this Swift Package available for the Linux platform, immediately this change should now allow us to support visionOS.
I've also targeted the visionOS platform, and verified this Swift Package builds successfully for that platform.
2 Quick question about this PR
swift-tools-version is set to 6.0 in the package, not 5.9 (i know the tools and the swift version differ, but i think in this invocation you do actually target swift 6.0?) as
I think because https://developer.apple.com/documentation/packagedescription/package/swiftlanguageversions
is deprecated , if we want swift 5.9 we should mark the tools version as well, otherwise you'll get the latest on your system?
platforms: [
.macOS(.v14),
.visionOS(.v1),
.iOS(.v17),
.tvOS(.v17),
.watchOS(.v10),
Does this impact deployment scenarios for clients in any way (I do see the 5.5 package remains) - im mostly curious if the package requires these more modern os versions, or if it can be relaxed?
@vade sorry about that, I was doing a bunch of c++ interop tests and forgot this PR was still open, reverted all changes to the original intention of this revision, which is simply to support swift 5.9 for future c++ interop work as well as visionOS platform support, along with backwards compatibility with swift 5.5+