Swift

[PackageDescription] 재사용 가능한 코드를 쉽고 편리하게 관리하자

삼쓰_웅쓰 2023. 1. 17. 15:38
반응형

Swift Package 란 재사용 가능한 코드 조각을 의미합니다.  Swift, Objective-C, Objective-C++, C, or C++ 코드들이 올 수 있습니다.

Swift Package 는 메인 디렉토리에 Package.swift 파일이 필수로 필요합니다. 이 파일 안에서 package manifest 의 PackageDescription 라이브러리를 사용해 의존성, 리소스, 여러 옵션을 관리할 수 있습니다.

예로 SlothCreator: Building DocC Documentation in Xcode 프로젝트의 package.swift 파일은 다음과 같이 생겼습니다.
안에 "SlotCreator" 라이브러리를 갖고 있는 패키지를 정의했고 타켓 정보들도 명시할 수 있습니다.

import PackageDescription

let package = Package(
    name: "SlothCreator",
    platforms: [
        .macOS(.v11),
        .iOS(.v14),
        .watchOS(.v7),
        .tvOS(.v13)
    ],
    products: [
        .library(
            name: "SlothCreator",
            targets: ["SlothCreator"]
        )
    ],
    targets: [
        .target(
            name: "SlothCreator",
            resources: [
                .process("Resources/")
            ]
        )
    ]
)

이처럼 package manifest 를 정의해 실행 가능한 products 뿐만 아니라 필요한 의존성들도 관리할 수 있습니다.

반응형