mapbox / mapbox-directions-swift

Traffic-aware directions and map matching in Swift on iOS, macOS, tvOS, watchOS, and Linux
https://www.mapbox.com/navigation/
ISC License
181 stars 87 forks source link

Require Xcode 13.0+, Swift 5.5+ #727

Closed 1ec5 closed 1 year ago

1ec5 commented 1 year ago

The Carthage integration test builds on CircleCI now build in Xcode 13.0 and 14.0. The Swift Package manager integration test builds now build in Xcode 13.3.1 and 14.0. In general, the minimum supported Swift Package Manager version is 5.5, the same version that ships with Xcode 13.0.

717 dropped Xcode 12 from CircleCI jobs that build the library using Xcode’s build system, but it left Xcode 12 in place for Carthage and SPM integration tests. I missed the latter in #725 when declaring that this library no longer supports Xcode 12. But I think we might as well say so formally, for all package managers, for consistency with the navigation SDK (mapbox/mapbox-navigation-ios#4063).

The App Store no longer accepts applications built in Xcode 12, so the only benefit to keeping Xcode 12 support would be Swift command line tools and macOS applications that don’t need to go through the App Store. Unlike the main library, the command line tool is not yet subject to the API stability guarantee.

The CircleCI configuration tests SPM integration in Xcode 13.3.1 because CircleCI’s Xcode 13 image runs on macOS 11.5.2, whereas ArgumentParser only supports macOS 12 and above.

/cc @mapbox/navigation-ios