- Accessibility
- Human Interface Guidelines
- lineBreakMode
- Keychain
- iPad
- IOS
- github
- WWDC
- CollectionView
- Split View
- Swift
- UILabel
- 애플
- lineBreakStrategy
- GOF
- TOSS
- 앱개발
- 야곰아카데미
- iTerm
- 디자인패턴
- DiffableDataSource
- orthogonalScrollingBehavior
- HIG
- Apple
- 스위프트
- LanguageGuide
- 애플사이다
- UIKit
- 전달인자 레이블
- Combine+UIKit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
애플사이다의 iOS 개발 일지
[SwiftLint] SPM으로 SwiftLint 설치 - Homebrew 필요 (SPM으로 못함) 본문
SwiftLint란?
SwiftLint는 라이브러리이다.
이걸 설치하면 Xcode에서 코딩 컨벤션 관련 오류를 알아서 잡아내는 맞춤법 검사기 기능을 한다.
SwiftLint 설치 방법은?
SwiftLint를 설치하는 방법은 크게 CocoaPods를 사용할 건지, 사용하지 않을 건지로 나뉜다.
개인적으로 나는 최근 CocoaPods보다 SPM (Swift Package Manager)을 더 활발하게 사용하고 있다.
별도로 pod install을 할 필요가 없고, 코드리뷰를 할 때 리뷰어도 추가 작업 없이 코드를 확인할 수 있다는 장점이 너무 크기 때문이다.
*그래도 CocoaPods으로 설치하고 싶다면 Zeddios님 링크를 참고
두 방법 모두 설치과정은 SwiftLint 공식문서에 다 나와있으므로 이걸 참조하는 게 가장 좋다.
하지만 나는 헤맸으므로.. 그 과정을 기록해본다.
먼저 아래 과정이 필요하다
1. brew 설치
Homebrew 설치방법은 이 링크를 참고
2. brew를 통해 SwiftLint 설치
이 링크는 번역본이라 조금 쉽다. 여기에 나온 대로 터미널에서 아래 코드만 넣으면 된다.
brew install swiftlint
3. Xcode 프로젝트에 적용
바로 될 줄 알았지만 Xcode가 SwiftLint를 찾지 못하는 문제가 발생한다.
많은 사람들이 겪은 문제라서 해답이 있다. 이 작업만 하면 끝난다.
https://github.com/realm/SwiftLint/issues/3734
Targets > 프로젝트 폴더 > 상단의 Build Phases > + 버튼 > New Run Script Phase > Run Script에 아래 코드를 복붙하면 된다.
brew path에 위치한 SwiftLint를 찾아가도록 하는 명령어이다.
if test -d "/opt/homebrew/bin/"; then
PATH="/opt/homebrew/bin/:${PATH}"
fi
export PATH
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
4. .swiftlint.yml 파일 생성
맞춤법을 검사할 때 적용할 규칙을 정하는 파일이다.
새 파일 > iOS > Other 항목의 Empty 파일을 선택하고 파일명을 .swiftlint.yml 로 입력한다.
주의 - Documentation 항목의 Empty 파일을 하면 안 된다.
그럼 아래처럼 경고창이 뜨는데, Use "."을 클릭하면 된다.
5. 정상 작동하는지 확인
위 과정을 마치면 컴파일러가 경고 메시지를 우수수 띄우는 것을 확인할 수 있다.
아래 컴파일러가 경고 메시지를 띄운 건 의미 없는 줄바꿈을 2번 이상했기 때문이다.
*이 규칙을 적용하고 싶지 않으면?
.swiftlint.yml 파일에 경고 메시지 맨 뒤에 표시된 vertical_whitespace를 넣으면 된다.
6. 규칙 추가/제거
내가 주로 사용하는 커스텀 룰을 적어봤다.
아까 만든 .swiftlint.yml 파일에 작성하면 된다.
나머지 규칙은 검색하면 다양하게 나온다.
disabled_rules: // 아래 룰은 검사 대상에서 제외하겠다는 뜻
- trailing_whitespace
- xctfail_message
- function_parameter_count
- legacy_constructor
- force_cast
- trailing_comma
- force_try
- identifier_name
type_body_length: 250 // 타입/함수/파일 등의 코드길이 제한을 변경하겠다는 뜻
line_length: 120
function_body_length: 50
file_length: 500
- Reference
🍎 포스트가 도움이 되었다면, 공감🤍 / 구독🍹 / 공유🔗 / 댓글✏️ 로 응원해주세요. 감사합니다.
'비전공자용 노력 > 개발 툴' 카테고리의 다른 글
[Kingfisher] 이미지 처리 라이브러리의 소스코드 뜯어보기 (1/2) (0) | 2022.11.05 |
---|---|
[iOS] GitHub Action으로 Xcode 테스트 자동화하기 - CI/CD (2) | 2022.08.29 |
[Git] Git 브랜치 이름은 어떻게 정할까? - Git Flow로 브랜치 관리하기 (0) | 2022.05.25 |
[GitHub] Issues/Milestones/Projects 기능으로 프로젝트 관리 (0) | 2022.02.05 |
[Git] 커밋 메시지가 50자 인지 어떻게 알지? 커밋 템플릿! (0) | 2021.10.19 |