내 프로젝트에 swiftLint 적용하는 법

Eddy📱·2022년 6월 14일
0

Library

목록 보기
1/2
post-thumbnail

컨벤션 통일로 많이 활용되는 툴인 swiftLint에 대해 알아보도록 하자!

먼저 SwiftLint를 적용하기 위해서는 코코아팟을 사용해야한다.

그러기 위해서는 코코아팟이 무엇인지 알아야한다.

코코아팟이란?

코코아팟은 dependency manager 중 하나이다.
dependency manager는 Xcode 프로젝트에서 여러개의 dependencies를 관리하는 툴을 말한다.

툴의 종류로는 아래가 있다

  • 코코아팟(CocoaPod)
  • 카르타고(Carthage)
  • 스위프트 패키지 메니저(Swift Package Manager)

이 중에 코코아팟은 가장 널리 사용되므로 이를 사용하도록 한다.

의존성 관리 도구에 대해서는 추후 다른 글로 알아보도록 한다.

코코아팟을 설치 하기 위해서는 terminal에서 진행해야한다.

$ sudo gem install cocoapods

이를 입력하게 되면 설치가 끝나게 되고, 코코아팟을 활용해서 다른 라이브러리를 사용할 수 있다.

이제 swiftLint를 적용할 준비가 다되었다.

첫 번쨰로는 swiftLint를 적용할 프로젝트 디렉터리로 이동한다.

위치는 (폴더).xxcodeproj 가 있는 시점이여야 한다.

두 번째로 pod init 명령어로 해당 디렉터리에 podfile를 만들어야한다.

만들면 위처럼 Podfile이 만들어진 것을 확인할 수 있다.

이제 정말로 SwiftLint를 설치할 수 있다.

vi Podfile 명령어를 통해 이제 swiftLint 라이브러리를 넣어야한다.

명령어를 치면 아래와 같이 나올 것이다.

그럼 i 버튼을 눌러서 내부에서 수정할 수 있는 수정모드로 바꾼다. 맨 아래에 이와 같은 INSERT가 있어야한다

이제 내부에서 pod swiftLint 명령어를 적어야한다.

들어가야할 곳은 target 안이며 end 위에 아무곳에나 적어도 된다.

위에 처럼 적어준 다음 이제 esc 누르고 : 버튼을 누르면 아래로 커서가 내려간다. 그럼 wq(저장하고 닫기) 를 입력후 enter를 누르면 내부에 들어가진다.

이제 준비가 되었다

세 번쨰로 pod install 명령어를 치게 되면 설치를 시작한다.

만약 설치가 잘 되지 않는다면, 명령어를 제대로 친 것이 맞는지 아니면 내부에 적은 문구가 오타가 있는지 확인해보시길..!

제대로 설치가 되었다면 아래와 같은 문구가 보일 것이다

이제 .xcworkspace 폴더를 열면 된다

왜 근데 기존에는 xcodeproj 폴더를 열었는데 이제는 xcworkspace 폴더를 열어야될까??? 의문이 들었다

xcodeproj 폴더는 프로젝트 설정 파일들이 들어있는 디렉터리를 말한다.

xcworkspace는 workspace와 프로젝트들에 대한 설명하는 파일이 들어 있는 디렉터리를 말한다.

그래서 코코아팟 등을 사용하여 외부 라이브러리를 추가한 경우에 xcworkspace에서 현재 프로젝트와 외부 라이브러리를 연결해주는 역할을 하게 된다.

그래서 xcodeproj에서 실행하면 라이브러리를 발견할 수 없어서 빌드가 되지 않고 xcworkspace에서만 되는 것을 볼수 있다.

이제 마지막 실제 프로젝트에서 설정을 해주어야 한다.

프로젝트 폴더에서 target를 클릭한 후 Build Phases를 찾아야한다. 그리고 이제 + 버튼을 누른 후 New Run Script Phase 를 눌러서 새 Script Phase를 만들어 준다.

이제 이곳에 Pod를 추가 해주면 된다.

보면 코드를 작성해야하는 곳이 있다. 이곳에 아래의 코드를 넣으게 되면 프로젝트 실행 시 swiftLint가 실행될 것이다.

${PODS_ROOT}/SwiftLint/swiftlint

위에 그림에서는 띄어쓰기가 된 것처럼 보이지만 실제로는 바로 붙여서 쓴 것이니 오해하지 않아야 한다.

이제 SwiftLint는 적용되었다. 짝짝

하지만 빌드를 돌려보면 엄청난 warning이 뜨는 것을 볼 수있다…

과연 내가 이 모든 규칙을 원할까?

그래서 이 규칙중에 적용하고 싶은 것도 있고 싫은 것도 있을 것이다.

이를 폴더를 만들어서 관리해줄 수 있다.

먼저 폴더를 생성해서 other 영역에 있는 empty template로 새로운 파일을 만든다.

파일 명은 .swiftlint.yml 으로 해야한다.

이제 적용할 룰을 정하거나 무시하고 싶은 룰을 지정해주면 된다.

룰은 많기 떄문에 아래 링크를 통해 확인해보는 것을 추천한다.

https://realm.github.io/SwiftLint/rule-directory.html

이제 이곳에서 내가 적용하고 싶은 룰, 적용하기 싫은 룰을 정해줄 수 있다.

disabled_rules:
- 적용하고 싶지 않은 룰 

opt_in_rules
- 사용하는 룰

이렇게 원하는 룰을 지정해줄 수 있다.

룰은 역시 취향차이이므로,, 각자 읽어보고 원하는 것을 정하는 것을 추천한다

이렇게 swiftLint를 적용하는 법에 대해 알아보았다.

실제 컨벤션 통일, 협업에서 swiftLint를 많이 사용하기 때문에 프로젝트 시작 전에, 컨벤션 맞추는 툴로 사용하면 좋을 듯 싶다~

-참고사이트-

https://github.com/CocoaPods/CocoaPods

https://realm.github.io/SwiftLint/rule-directory.html

https://jeongupark-study-house.tistory.com/160

profile
Make a better world

0개의 댓글