- Total
꿈꾸는리버리
Xcode SwiftLint 적용하기 본문
왜 사용하죠 ...?
SwiftLint를 이전 챌린지에서 협업 때 사용해본 결과,,
통상적으로 사람들이 사용하는 code convention을 따르게 되어가고 있는 것 같았고,
팀원들과 비슷한 코드를 짜고 있다는 생각이 들어서 이번 챌린지에도 swiftLint를 도입하기로 했다 !
Lint란?
Lint는 소스코드를 분석해서 코드 스타일이나 프로그램의 오류가 발생할 수 있는 부분을 찾아주는 도구로 활용된다.
SwiftLint는 Swift언어에서 규칙에 어긋나는 코드를 찾아내서 경고 또는 빌드에러를 반환해준다.
1) Podfile에 pod 'SwiftLint'추가한 뒤 pod install
우선 .xcodeproj 가 있는 폴더(여기서는 cloneStanFord)를 터미널로 연다.
이 깃헙의 내용을 따라하면 된다.
우선은 pod init 명령어를 입력한 후,
pod init을 했을 때 생기는 Podfile에 들어간다.
Podfile을 열고 # Pods for ~~밑에 pod 'SwiftLint'를 입력한 후 창을 닫는다.
pod 'SwiftLint'
그리고 pod install을 입력하면
하단 그림처럼 여러 파일들이 생기는 것을 확인할 수 있다.
2. Target -> build phase -> + -> new run script phase
이번에도 이 깃헙의 내용을 따라 을 작성할 거다
.xcodepro을 연다.
Target -> build phase -> + -> new run script phase 을 클릭한다.
Run Script 내의 검정 블록 내용을
"${PODS_ROOT}/SwiftLint/swiftlint"으로 바꿔준다.
"${PODS_ROOT}/SwiftLint/swiftlint"
그리고 command + B 를 눌러서 Build를 하면, 무수한 warning을 맞이 하게 된다.
이제 이거 하나하나 고치면서.. 익숙해지면 됨.. ㅎㅎ
3) SwiftLint Custom하기
나의 경우에는 Line Length와 같이 길이 제한의 코드는 필요가 없는 것처럼 느껴졌다.
그래서 해당 내용을 swiftLint가 검사하는 항목에서 제외시키려고 한다.
command + N을 눌러서 Empty file을 만들어준다.
해당 파일의 이름은 무조건 .swiftlint.yml로 해야 한다.
.swiftlint.yml
그러면 이런 알림이 뜨는데 파란 버튼을 눌러주면 된다.
(.으로 시작하는 파일은 숨김파일이라서 확인차 알림이 뜨는 것이다.)
방금 만들어준 .swiftlint.yml 파일에 다음과 같이 Code를 넣으면 된다.
( disabled_rules: - line_length 는 무시하겠다는 뜻이다 ! )
disabled_rules:
- line_length
included:
excluded:
- Pods
만약 뜨는 warning 중에 또 다른 것을 변경하고 싶다면
해당 문서에서 찾아서 " disabled_rules : " 하단에 작성하면 된다.
이렇게 하고 다시 빌드를 하면, line_length과 관련된 warning이 사라졌음을 확인할 수 있다 !
느낀점
pod install 하나에도 끙끙 댔던 거 같은데 많이 발전했다 ~~ 이제 github 문서를 보고 조금씩 따라할 수 있게 된 거 같기도 하구 ! 이렇게 성장하는 거지 그치 ~~ ? 🥹🥲😱🥶
'오뚝이 개발자 > swift' 카테고리의 다른 글
Class 안의 Struct와 Struct 안의 Class ! (0) | 2022.07.14 |
---|---|
Copy On Write(COW)는 어떤 방식으로 동작하는지 설명하시오. (2) | 2022.07.14 |
assert(_:_:file:line:) (0) | 2022.07.10 |
struct와 class의 차이를 설명하시오. (0) | 2022.07.06 |
removeLast() vs popLast() (0) | 2022.05.24 |