스위프트 패키지 매니저(Swift Package Manager)를 지원하는 방법은 매우 간단합니다. 바로 Package.swift 파일만 추가해주면 됩니다. 코코아팟에서 .podspec 파일을 기억하시나요? 스위프트 패키지 매니저에서는 Package.swift 파일이 그 역할을 대신합니다.
YYSimpleAlert
디렉토리 위치로 이동하여 Package.swift 파일을 생성해줍니다.
이번에는 open -a Xcode ./Package.swift
명령어를 통해 Xcode
에서 Package.swift 파일을 열도록 하겠습니다.
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "YYSimpleAlert",
platforms: [
.iOS(.v13)
],
products: [
.library(name: "YYSimpleAlert",
targets: ["YYSimpleAlert"])
],
targets: [
.target(name: "YYSimpleAlert",
path: "YYSimpleAlert/Classes")
],
swiftLanguageVersions: [
.v5
]
)
위 코드를 그대로 붙여넣겠습니다. podspec 파일과는 다르게 친숙한 스위프트 언어로 작성되어 있는 것을 볼 수 있습니다. 코드 맨 위를 보면 알 수 있듯이 Package.swift 는 꼭 swift-tools-version
항목을 명시하면서 시작해야 합니다. 이 버전은 PackageDescription
라이브러리의 버전을 의미합니다.
// swift-tools-version:3.0.2
// swift-tools-version:3.1
// swift-tools-version:4.0
// swift-tools-version:5.0
// swift-tools-version:5.1
지원하는 버전을 보면 Swift
언어의 버전과 비슷하게 관리됨을 알 수 있습니다. 왜냐하면 스위프트 패키지 매니저는 Swift 3
부터 built-in 형식으로 지원되고 있었기 때문입니다. Package – Swift Package Manager 를 참고하면 차후에 Swift
, Swift tools
버전을 업데이트 해도 Package.swift 에서 명시한 항목들은 그대로 유지할 수 있다고도 설명하고 있습니다.
.iOS
이외에도 .macOS
, .tvOS
, .watchOS
를 추가할 수 있습니다.Library
, Executable
두 가지 타입이 있습니다. Executable
은 사용자에게 실행가능한 패키지를 제공할 때에 사용됩니다.Finder를 통해 프로젝트 경로로 가보겠습니다. Package.swift 가 추가된 것을 확인할 수 있습니다. 이번에는 이 파일을 더블 클릭하여 열어보도록 하겠습니다. Package.swift 파일을 열었는데 해당 파일만 열리는 것이 아니라 Xcode
에서 스위프트 패키지 매니저 라이브러리로 인식되어 열리게 됩니다.
스위프트 패키지 매니저를 상징하는 박스 모양 아이콘도 생긴 것을 확인할 수 있습니다.