. xcworkspace 및 Swift Package 프로젝트에서 SPM을 사용하여 라이브러리 가져오기

개요


. xcworkspace 및 Swift Package 관리 프로젝트에서 SPM을 사용하여 라이브러리를 가져오는 방법에 대해 설명합니다.
엑스워크스페이스와 스위프트 패키지의 도입 방법 등은 추후 기사에 담는다.

프로젝트 구성


Eevee
├── EeveeProject
│   ├── Package.swift
│   ├── Sources
│   └── Tests/EeveePackageTests
├── EeveePackage
├── EeveeWorkspase.xcworkspace
└── Tools
    ├── Package.resolved
    └── package.swift

추가 방법


이번에는 누크를 샘플로 추가하려고 합니다.
package.swift는 다음과 같다.
package.swift
import PackageDescription

let package = Package(
    name: "EeveePackage",
    platforms: [
        .iOS(.v15)
    ],
    products: [
        .library(
            name: "EeveePackage",
            targets: ["EeveePackage"])
    ],
    dependencies: [
        .package(url: "https://github.com/kean/Nuke.git",
            .exact("10.8.0")),
    ],
    targets: [
        .target(
            name: "EeveePackage",
            dependencies: [
                .target(name: "HogeTarget"),
                .product(name: "Nuke", package: "Nuke"),
            ])
        .testTarget(
            name: "EeveePackageTests",
            dependencies: ["EeveePackage"]),
    ]
)
우선dependencies: [] 안에 가져온 라이브러리의 URL과 가져올 버전을 지정합니다.
package.swift
dependencies: [
    .package(url: "https://github.com/kean/Nuke.git",.exact("10.8.0")),
],
targets:[]에 가져오고 싶습니다.target
내부에 있습니다.product로 프로그램 라이브러리를 지정합니다.
package.swift
targets: [
    .target(
        name: "EeveePackage",
        dependencies: [
	    .target(name: "HogeTarget"),
	    .product(name: "Nuke", package: "Nuke"),
    ])
]
위에서 SPM을 사용하여 라이브러리를 가져올 수 있습니다.

좋은 웹페이지 즐겨찾기