iOS 개발자라면 공통 기능을 다른 프로젝트에서도 쉽게 사용할 수 있도록 라이브러리로 만들고 싶을 때가 있습니다. 이 글에서는 iOS 라이브러리를 배포하는 방법에 대해 알아보겠습니다.
CocoaPods, Swift Package Manager를 이용하여 라이브러리를 배포하는 과정을 단계별로 설명하겠습니다.
1. 목록
준비 작업: Xcode 프로젝트 설정 및 라이브러리 코드 작성
CocoaPods을 통한 배포
Swift Package Manager을 통한 배포
GitHub를 통한 등록한 라이브러리 배포
CocoaPods 배포한 라이브러리 설치 및 사용 방법
2. 준비 작업
Xcode 프로젝트 설정
먼저 Xcode에서 새 프로젝트를 만듭니다. 프로젝트 타입은 'Framework'로 선택합니다.
'File > New > Project'를 선택합니다.
템플릿에서 'Framework'를 선택합니다.
프로젝트 이름과 기타 설정을 완료한 후 프로젝트를 생성합니다.
라이브러리 코드 작성 및 구조화
라이브러리의 핵심 기능을 구현합니다. 예를 들어, 간단한 문자열 처리 라이브러리를 작성한다고 가정해보겠습니다.
//swift
import Foundation
public class StringUtility {
public init() {}
public func reverse(_ string: String) -> String {
return String(string.reversed())
}
}
라이브러리 코드는 최대한 모듈화하고 테스트 코드도 함께 작성합니다.
3. CocoaPods을 통한 배포
3.1. CocoaPods 설치 및 초기 설정
CocoaPods이 설치되어 있지 않다면 터미널에서 다음 명령어를 실행하여 설치합니다.
sudo gem install cocoapods
프로젝트 폴더에서 'podspec' 파일을 생성합니다.
pod spec create YourLibraryName
3.2. Podspec 파일 작성 방법
'YourLibraryName.podspec' 파일을 열고 다음과 같이 작성합니다.
Pod::Spec.new do |s|
s.name = 'YourLibraryName'
s.version = '0.1.0'
s.summary = 'A short description of YourLibraryName.'
s.description = 'A longer description of YourLibraryName.'
s.homepage = 'https://github.com/yourusername/YourLibraryName'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Your Name' => 'your.email@example.com' }
s.source = { :git => 'https://github.com/yourusername/YourLibraryName.git', :tag => s.version.to_s }
s.ios.deployment_target = '10.0'
s.source_files = 'YourLibraryName/Classes/**/*'
end
3.3. 라이브러리 배포: pod trunk push 명령어 사용
'Podspec' 파일을 CocoaPods에 배포합니다.
pod trunk push YourLibraryName.podspec
3.4. CocoaPods에 라이브러리 등록 및 업데이트
배포가 완료되면 다른 사용자들이 CocoaPods을 통해 라이브러리를 사용할 수 있습니다. 업데이트가 필요할 때는 'podspec' 파일의 버전을 올리고 다시 'pod trunk push' 명령어를 실행합니다.
4. Swift Package Manager을 통한 배포
4.1. SPM 설치 및 초기 설정
Swift Package Manager은 Xcode에 내장되어 있어 별도의 설치가 필요 없습니다. 프로젝트 루트에 'Package.swift' 파일을 생성하고 다음과 같이 작성합니다.
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "YourLibraryName",
products: [
.library(
name: "YourLibraryName",
targets: ["YourLibraryName"]),
],
targets: [
.target(
name: "YourLibraryName",
dependencies: []),
.testTarget(
name: "YourLibraryNameTests",
dependencies: ["YourLibraryName"]),
]
)
4.2. Package.swift 파일 작성
위의 예제와 같이 'Package.swift' 파일을 작성합니다. 파일에 필요한 모든 종속성과 타겟을 정의합니다.
4.3. Xcode에서 SPM 지원 설정
Xcode 프로젝트에서 'File > Swift Packages > Add Package Dependency'를 선택하고 GitHub 리포지토리 URL을 입력하여 라이브러리를 추가합니다.
4.4. 라이브러리 배포
라이브러리를 사용하려는 프로젝트에서도 위와 같은 방법으로 라이브러리를 추가할 수 있습니다.
5. GitHub를 통한 등록한 라이브러리 배포
5.1. 최종적으로 배포를 하기위해 라이브러리를 GitHub에 올립니다.
레파지토리를 생성하고 해당 라이브러리 파일을 커밋합니다.
GitHub 리포지토리에 태그를 추가합니다.
GitHub 리포지토리 페이지에서 'Release' 탭에서 'Draft a new release' 버튼을 클릭합니다.
'Tag version' 에 버전 번호(예: '0.1.0')를 입력합니다. 태그가 아직 없다면 이 과정에서 생성됩니다.
'Release title'에 릴리스 제목을 입력하고, 'Description'에 변경 사항이나 릴리스 노트를 입력합니다.
'Publish release' 버튼을 클릭하여 릴리스를 생성합니다.
6. CocoaPods 배포한 라이브러리 설치 및 사용 방법
6.1. 프로젝트에 CocoaPods 초기화
라이브러리를 사용하려는 프로젝트 폴더로 이동한 후, CocoaPods을 초기화 합니다.
pod init
이 명령어는 프로젝트 폴더에 Podfile이라는 파일을 생성합니다.
6.2. Podfile 설정
Podfile을 열어 프로젝트에 등록한 라이브러리를 추가합니다.
platform :ios, '10.0'
target 'YourProjectName' do
use_frameworks!
# Pods for YourProjectName
pod 'YourLibraryName', '~> 0.1.0'
end
그리고 다시 라이브러리를 설치합니다.
pod install
참고 자료
CocoaPods Guides : https://guides.cocoapods.org/
Swift Package Manager : https://www.swift.org/documentation/package-manager/
이 글이 도움이 되길 바라며, 성공적인 라이브러리 배포를 기원합니다.
Comments