Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리펙터링
- HIG
- uiscrollview
- ribs
- UITextView
- Protocol
- swift documentation
- Observable
- RxCocoa
- combine
- Refactoring
- Human interface guide
- Xcode
- UICollectionView
- uitableview
- collectionview
- tableView
- MVVM
- map
- swiftUI
- 리팩토링
- clean architecture
- 리펙토링
- 스위프트
- Clean Code
- ios
- 클린 코드
- SWIFT
- rxswift
- 애니메이션
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Mint 패키지 관리 도구, SwiftLint 적용 방법, (Failed to build with SPM 오류 해결) 본문
빌드 환경 설정
[iOS - swift] Mint 패키지 관리 도구, SwiftLint 적용 방법, (Failed to build with SPM 오류 해결)
jake-kim 2021. 12. 8. 01:38Mint 란?
- SPM을 지원하는 프레임워크를 편하게 설치할 수 있는 Swift command line 툴
- 장점
- 특정 버전의 패키를 쉽게 실행
- 패키지를 전역으로 link 기능이 간편
- 빌드는 버전 별로 자동으로 캐싱
- 쉽게 사용할 수 있도록 Mintfile에 버전이 지정된 패키지 목록을 지정하여 사용
Home brew로 Mint 설치
- HomeBrew 설치 방법은 이곳 참고
- M1에서 설치
$ arch -arm64 brew install mint
- (intel에서 설치)
$ brew install mint
mint 사용 준비 - Mintfile 파일
- project의 root 폴더에 Mintfile 파일 생성
$ vi Mintfile
- realm/SwiftLint@0.44.0 입력 후 저장
- Mintfile에 명시된 의존성 설치 및 global 연결 (mint bootstrap을 실행하면 Minfile 실행)
- M1에서는 arch -arm64가 붙는것을 주의
안붙이면 Failed to build SwiftGen with SPM 오류 발생
- M1에서는 arch -arm64가 붙는것을 주의
$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
$ arch -arm64 mint bootstrap --link # arm cpu인 경우, arch -arm64 필요
- arm cpu가 아닌 intel인 경우, arch -arm64 불필요하여 아래처럼 실행
mint bootstrap --link
- 설치 완료
Xcode run Script 작성
- Target -> Build Phases -> + 버튼 클릭
- New Run Script Phase 클릭
- 생성한 "Run Script" 이름을 "Run SwiftLint"로 변경 후 위치를 Compile Sources 위로 이동
- Compile Sources 위로시키는 이유 - 컴파일 하기 전에 스크립트를 실행시켜 SwiftLint 검사 먼저 수행하는 의도
- script 작성 "mint run swiftlint"
- .swiftlint.yml 파일 생성 - Xcode에서 Empty 파일로, 이름은 반드시 .swiftlint.yml로 생성
- lint 규칙 정의할 파일을 프로젝트 루트 폴더에서 이름은 ".swiftlint.yml"로 생성
$ vi .swiftlint.yml
- .swiftlint.yml에 예제 내용 입력
- 주의) included의 값은 자신의 프로젝트 이름 입력
included:
- ExSwiftLintByMint # 프로젝트 이름
variable_name:
min_length: # only min_length
error: 4 # only error
- Xcode 실행 시 lint 동작
* 주의- cocoapods에 경고 메시지 해제 방법
# podfile
source 'https://cdn.cocoapods.org/'
platform :ios, '13.0' # cocoapods 프레임워크들이 13.0 버전에 맞추도록 설정 (경고 메시지 해제)
inhibit_all_warnings! # cocoapods의 swiftlint 경고 메시지 해제
* 전체 소스 코드: https://github.com/JK0369/ExSwiftLintByMint
* 참고
- https://github.com/SwiftGen/SwiftGen
- https://swiftobc.com/repo/yonaskolb-Mint-swift-dependency-managers
'빌드 환경 설정' 카테고리의 다른 글
[iOS - swift] Rugby 프레임워크, COCOAPODS_PARALLEL_CODE_SIGN, Indexing 속도, Cocoapods 빌드 속도 올리기 (0) | 2021.12.19 |
---|---|
[iOS - swift] SwiftGen, 리소스 관리, swiftgen.yml (1) | 2021.12.08 |
[iOS - swift] M1 맥북에서 HomeBrew, Cocoapods 설치 방법 (0) | 2021.11.14 |
Comments