설명: JWCarousel 라이브러리 구축
CocoaPods 배포 방법
포드 라이브러리 생성
-
터미널에서 작업하려는 디렉터리로 변경합니다.
-
pod lib create JWCarousel
입력 -
도서관 정보를 입력합니다.
정보를 입력하면 Xcode 프로젝트가 열립니다.
(열리지 않으면 해당 디렉터리로 이동하여 직접 엽니다.
)
코드 작성
-
앞서 생성한 포드 프로젝트에 코드를 작성합니다.
Pod/DevelopmentPods/JWCarousel/ReplaceMe.swift 파일을 편집하기만 하면 됩니다.
(주의 액세스 제어!
) -
저는 SwiftUI 프로젝트이기 때문에 데모를 UIKit으로 변경해야 했습니다.
-
앱 델리게이트 ml
UIHostingController
다음을 사용하여 rootView 변경 -
plist에서 메인 스토리보드 정보 삭제
-
메인 스토리보드 삭제
-
대상 iOS 버전을 변경합니다.
(SwiftUI는 iOS 13부터 사용 가능)데모 및 팟(Pod) 대상 모두에 적용하십시오.
-
포드 사양 편집
-
데모 프로젝트 상단 또는 Pods/Pod에 JSCarousle.podspec이라는 파일을 입력합니다.
-
이미 많은 댓글로 작성되어 있을 수 있지만 문서를 보고 다시 작성하면 좋을 것 같습니다^^;;
코드를 삭제하거나 터미널에서 새 코드를 생성할 수 있습니다.
(그냥 코드를 삭제하고 다시 작성했습니다)pod spec create (NAME|https://github.com/USER/REPO)
-
여기 내 포드 사양입니다.
Pod::Spec.new do |spec| # 라이브러리 이름 spec.name="JWCarousel" # 라이브러리 버전 spec.version = '0.1.0' # 라이센스 spec.license = { :type => 'MIT', :file => 'LICENSE' } # 깃허브 페이지 spec.homepage="https://github.com/JIWON1923/JWCarousel" # 만든 사람 이름 및 메일 주소 spec.authors = { 'Jiwon Lee' => '[email protected]' } # 라이브러리 요약 설명 spec.summary = 'The JWCarousel library for SwiftUI provides a highly customizable carousel view for iOS apps.' # 깃 소스 spec.source = { :git => 'https://github.com/JIWON1923/JWCarousel.git', :tag => spec.version } # Swift 버전 (이거 안 바꾸면 경고 나온다) spec.swift_version = '5.0' # 최소 버전 spec.ios.deployment_target="15.0" # 소스 파일 위치 spec.source_files="JWCarousel/Classes/**/*" end
여기서 중요한 부분은 소스 파일 위치입니다!
(기존 정보는 JWCarousel/그렇게 쓰지 않습니다!
이곳에 꼭 수정해주세요.)공식 문서참고로 써보자
포드 검증
- 최종 장치에서
pod lib lint
입력 - 실수가 있어요
<figure><img src="../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
-
오류를 확인하고 하나씩 수정하십시오.
xcodebuild: 실패한 종료 코드가 반환되었습니다.
당신이 사용할 수있는--verbose
자세한 내용은오류: 호출에서 추가 후행 클로저를 전달했습니다.
이 오류가 발생했습니다.
당황하지 말고 포드 프로젝트에 들어가세요. (코드는 전혀 문제가 없었습니다) -
포드가 저장되어 있는 프로젝트로 이동합니다.
<figure><img src="../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
나는 `View+JWcarousel.swift`, `FramePreferenceKey+JWCarousel`이 Class 폴더 내부에 없어서 발생한 문제였다.
(코드의 위치를 몰랐던 것임!
)
<figure><img src="../.gitbook/assets/image (6).png" alt=""><figcaption></figcaption></figure>
인식 못했던 코드를 여기로 옮겨주고, Xcode에 들어가서 파일 위치를 재설정해준다.
- 다시 한번
pod lib lint
수행하다
<figure><img src="../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
Git에 프로젝트 등록
- 프로젝트를 진행하다
git add .
git commit -m "커밋메시지"
git branch -M main
git remote add origin 주소.git
git push -u origin main
- 라벨 누르기 (사양서에 기재된 버전과 동일하게 작성)
git tag 0.1.0
git push origin 0.1.0
포드에 등록
- 명령 입력
pod trunk register 이메일
-
체크인 이메일
링크를 클릭하세요!
-
마지막!
프레스 사양
pod trunk push JWCarousel.podspec
완벽한
그런데 CocoaPods 검색해도 안나오네요!
!
아직도 너무 자랑스러워___