2021. 10. 2. 15:25ㆍFramework, Library
나다 릴리즈를 준비하면서, 현규 선배의 도움으로 SwiftLint라는 것을 처음 접해보았다.
SwiftLint란 코딩 컨벤션을 자동으로 확인해주는 도구이다.
프로젝트에 SwiftLint를 적용시켜 코딩을 하면, 협업을 진행하더라도 모든 개발자가 일관된 코드를 작성할 수 있게 도와주게 된다.
*어떤 규칙을 안지키면 Warning이 발생하고, 어떤 규칙을 안지키면 Error가 발생해 빌드 자체를 막는 형태로 컨벤션을 지키도록 도와준다
물론 스스로 공부를 할 때, 일관된 코딩 컨벤션을 사용할 때도 마찬가지이다.
예전에 코딩 컨벤션에 대해 다룬 글도 있으니, 궁금하면 읽고 오자.
1️⃣ 적용방법
1. podfile에 pod 'SwiftLint'를 추가한 후, pod install을 해주기
2. TARGETS -> Build Phases -> +버튼 -> New Run Script Phase 클릭
3. Run Script에 ${PODS_ROOT}/SwiftLint/swiftlint 코드 추가
여기까지 완료하면, 정상적으로 SwiftLint가 잘 적용된다.
하지만, 여기서 끝나면 엄청난 Warning과 Error의 늪에 빠진 내 프로젝트를 확인할 수 있다.
이거를 언제 다 해결해주나....
2️⃣ 예외처리 규칙, 파일 지정하기
프로젝트 아래 .swiftlint 라는 파일을 생성해주면,
이 파일에서 제외할 규칙과, SwiftLint를 적용하지 않을 파일을 설정해줄 수 있다!
보이는 것처럼 프로젝트 바로 아래에 Empty -> .swiftlint.yml 라는 이름의 파일을 하나 만들어주자.
그러면 아래와 같이이 작성을 해서 자유롭게 설정을 해주면 된다!
- disabled_rules : SwiftLint에 있는 규칙 중 프로젝트에서 포함시키지 않을 컨벤션을 지정한다.
- included : 기존 규칙에 적용 안되고 있던 파일을 컨벤션 적용하고 싶을 때 사용
- exclided : 기존 규칙에 영향 받던 파일을 컨벤션과 무관하게 적용하고 싶을 때 사용
추가로, Lint의 규칙은 아래의 문서에서 찾아보면 된다.
제외하고 싶은 규칙의 identifier값을 disabled_rules 밑에 "-" 뒤에 써서 추가해주자. (예시 - line_length (코드 라인 길이와 관련된 컨벤션))
+ Swiftlint를 적용해주면서 발생하는 에러 내용과 해결법은 아래 링크에서 잘 정리해두고 있다.
'Framework, Library' 카테고리의 다른 글
[Social Login] Access Token과 Refresh Token, 그리고 Auto Login까지 (6) | 2022.01.05 |
---|---|
[Social Login] 소셜 로그인을 구현해보자! 2탄 - Apple 로그인 (0) | 2021.12.27 |
[Library] Alamofire의 단점을 보완한 네트워킹 라이브러리, Moya (0) | 2021.12.17 |
[Library] AutoLayout을 짧은 코드로 구현하려면, SnapKit (0) | 2021.11.16 |
[Social Login] 소셜 로그인을 구현해보자! 1탄 - 카카오톡 로그인 (0) | 2021.09.22 |