SwiftLint 적용해보기

marisol👩🏻‍💻·2022년 6월 14일
0

새 프로젝트에 SwiftLint를 적용해보았다
한 프로젝트 내에서 코딩 컨벤션이 통일되지 않으면 보기 불편한 경우가 있는데..
그때 SwiftLint를 사용하면 자동으로 관리해주니 편리할 것 같다


📌 Pod 설치하기

1️⃣ 터미널에서 Pod 설치를 원하는 파일로 이동한다

marisol-MacBookPro desktop % cd ViewDrawingCycle

2️⃣ Pod을 init한다

marisol-MacBookPro ViewDrawingCycle % pod init

pod init 명령어를 실행하면 의존성을 관리할 Podfile이 생성된다

3️⃣ Podfile을 열어 사용할 Pod을 명시해준다

marisol-MacBookPro ViewDrawingCycle % vi Podfile

화면 이동해서 pod 'SwiftLint' 입력

(터미널을 잘 쓸 줄 몰라서 pod 'SwiftLint'를 입력하고 나서 어떻게 해야하는지 헤맸는데, 저장하기 위해 :w를 입력하고 :q 입력해서 나오면 된다)

4️⃣ Pod을 설치한다

marisol-MacBookPro ViewDrawingCycle % pod install

위 명령어를 입력하면 SwiftLint 라이브러리를 프로젝트로 받아오게 된다.

이때부터는 .xcodeproj가 아니라 .xcworkspace 프로젝트 파일을 열어 작업을 진행해야 하는데, .xcworkspace는 Xcode 프로젝트를 워크스페이스라는 하나의 작업공간으로 묶어놓은 단위, 즉 .xcodeproj의 모음이라고 한다.

Pod 설치하고나서 워크스페이스가 생성되면 이유도 잘 모르고 워크스페이스에서 작업을 했었는데, 아래와 같은 이유가 있었다.

코코아팟을 통해 라이브러리를 가져오면, 기존 프로젝트와 의존성을 맺어주기 위해 워크 스페이스를 생성해주는 거고, 처음에 생성한 프로젝트와 받아온 Pod들을 묶어 하나의 워크스페이스로 구성하여 기존 프로젝트 이름과 동일한 워크 스페이스를 만들어준다


📌 workspace에서 설정하기

Pod을 설치하고 나서 workspace가 생성되면, 그 안에서 또 설정을 해줘야 한다

workspace -> TARGETS -> Build Phases -> + 버튼을 눌러서 New Run Script Phase를 추가하고 run script에 ${PODS_ROOT}/SwiftLint/swiftlint를 입력하면 정상적으로 swiftlint가 프로젝트에 적용되면서

⚠️ 상당한 노란색 경고가 떠버린다 ⚠️

경고를 살펴보면 "trailing_newline", "vertical_whitespace" 등의 오류가 뜬다

이쯤되면 swiftlint의 rules 중에서 적용하고 싶지 않은 룰들은 제외하고, 또 특정 파일에는 swiftlint 규칙을 적용하고 싶지 않다는 생각이 드는데 SwiftLint 깃헙의 readme를 읽어보면 영어지만 설명이 잘되어있다.

SwiftLint를 적용할 디렉토리에 .swiftlint.yml이라는 파일을 만들어서 규칙들을 설정하면 된다는 것 같다

  • disabled_rules: 실행에서 제외할 규칙들
  • opt_in_rules: 디폴트로 실행 중지 되어 있어 옵트인 해야 하는 규칙들
  • included: 포함할 파일의 경로
  • excluded: 포함하지 않을 파일의 경로

적용 제외할 규칙들을 disabled_rules에 적어주고,
적용하고 싶지 않은 파일의 경로를 excluded에 적어주었다

이러면 원하지 않는 경고가 사라진닷 😆


참고자료

0개의 댓글