본문으로 건너뛰기

Swift 플랫폼 지원 범위와 배포 기준

Upgrading To Swift 6.4: The Stdlib Gate

www.swift.org

핵심 요약

  1. Swift 플랫폼은 개발 도구까지 실행할 수 있는 ‘개발 및 배포’와 앱만 실행할 수 있는 ‘배포 전용’으로 구분되며, 개발 환경별 대상 플랫폼도 별도로 제시된다.
  2. 앱 배포 최소 버전은 macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, visionOS 1.0이며, Linux 배포판과 Android·Windows에도 각각 기준이 정해져 있다.
  3. Swift의 플랫폼 지원은 표준 라이브러리와 핵심 라이브러리뿐 아니라 문서, 테스트, CI, 툴체인 서명까지 포함하며 플랫폼 오너가 유지 관리에 참여한다.

도입

Swift 플랫폼 지원 문서는 개발 도구를 실행할 수 있는 환경과 Swift 프로그램만 배포할 수 있는 환경을 구분한다. macOS에서는 Apple 플랫폼을 대상으로 빌드할 수 있고, Ubuntu·Debian·Fedora·Amazon Linux·Red Hat Universal Base Image·Windows에서는 각 환경을 대상으로 빌드한다. 앱별 최소 운영체제 버전과 도구·런타임 기능도 표로 정리한다.

상세 요약

지원 범위 구분

Swift 플랫폼은 개발 도구 실행 여부에 따라 두 유형으로 나뉜다.

  • 개발 및 배포: Swift 프로그램을 빌드할 수 있고 Swift 컴파일러 같은 개발 도구도 실행할 수 있다.
  • 배포 전용: Swift 프로그램은 빌드할 수 있지만, 이를 빌드하는 개발 도구가 해당 플랫폼에서 실행되지는 않을 수 있다.

개발 도구 실행 환경과 배포 대상은 별도로 정리된다. macOS에서 실행하는 도구는 Apple 플랫폼을 대상으로 빌드할 수 있다. Ubuntu, Debian, Fedora, Amazon Linux, Red Hat Universal Base Image, Windows는 각각 같은 이름의 플랫폼을 배포 대상으로 한다.

최소 배포 버전과 도구

Swift 애플리케이션의 최소 배포 버전은 다음과 같다.

  • macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, visionOS 1.0
  • Android 9(API 28)
  • Ubuntu 22.04, Debian 12, Fedora 41, Amazon Linux 2023, Red Hat Universal Base Image 9
  • Windows 10.0

개발 도구 실행 플랫폼으로 제시된 macOS, Ubuntu, Debian, Fedora, Amazon Linux, Red Hat Universal Base Image, Windows에서는 Swift Package Manager와 SourceKit-LSP를 모두 지원한다. Swift 컴파일러와 디버거도 개발을 지원하는 플랫폼에서 실행된다.

런타임 기능과 기본 요건

런타임 기능 표에서는 macOS와 각 Linux 배포판에 디버거와 REPL이 모두 표시된다. iOS, watchOS, tvOS는 디버거를 지원하며 REPL 항목은 비어 있다. Windows도 디버거를 지원하고 REPL 항목은 비어 있다.

Swift 애플리케이션 실행을 지원하는 플랫폼은 설치, REPL, Swift Package Manager, 디버거 사용법을 포함한 시작하기 문서를 제공해야 한다. 또한 별도 예외가 명시되지 않는 한 핵심 런타임, Standard Library, 핵심 라이브러리를 제공해야 한다.

플랫폼 유지 관리

플랫폼별 지원은 Swift 오픈 소스 커뮤니티 구성원들이 담당한다. 플랫폼 오너는 해당 플랫폼의 지원을 유지하는 주된 관리자로서 기여자 간 협업과 포팅 작업을 돕는다. 포럼에 전용 공간을 운영하고, 격주로 진행 상황과 열린 이슈를 논의한다.

공식 지원 플랫폼의 pull request는 병합 전에 빌드와 테스트를 통과해야 한다. 플랫폼 오너는 메인 브랜치와 릴리스 브랜치의 지속적 테스트를 모니터링하고, 커뮤니티 호스팅 CI의 테스트 하드웨어를 제공하거나 확보한다. 툴체인은 플랫폼 오너가 빌드하고 서명해 Apple에 전달한다. Apple은 Apple이 빌드하지 않은 툴체인을 swift.org 인증서로 다시 서명해 배포하며, 양측의 서명을 확인하는 무작위 감사를 진행한다. 새 플랫폼 제안은 forums.swift.org에서 검토를 요청할 수 있고 Swift Core 팀이 심사한다.

결론

플랫폼 지원은 컴파일 가능 여부만으로 정의되지 않는다. 지원 플랫폼은 시작하기 문서와 런타임·표준 라이브러리·핵심 라이브러리를 제공해야 하며, 공식 지원 플랫폼의 PR에는 빌드와 테스트가 요구된다. 플랫폼 오너는 지속적 테스트와 하드웨어를 관리하고, Apple이 아닌 곳에서 만든 툴체인은 오너가 서명한 뒤 Apple이 재서명하는 절차를 따른다.