SwiftLitt 가져오기
업무에서 도입SwiftLint했기 때문에 그 지식을 공유합니다.
Installation
멀티 개발에서 스위프트라이트 버전을 갖추려고 코코아팟으로 설치했다.
Homebrew에도 설치할 수 있지만 필자는 그 방법을 시도해 본 적이 없기 때문에 이번에는 설명을 생략할 수 있도록 허락해 주십시오.
Podfile에 SwiftLitt 추가
Podfile
platform :ios, '10.0'
target 'sample1' do
use_frameworks!
pod 'SwiftLint', '0.23.0'
end
Podfile에 Swift Line을 추가한 후 터미널에서 실행pod install
합니다.설치가 완료되었습니다.Xcode
Xcode를 사용하여 빌드하면 Lin이 자동으로 실행됩니다.
Xcode에서 프로젝트 파일을 선택하여 Build Phase의 Run Script에 다음 스크립트를 붙여넣습니다.
if which "${PODS_ROOT}/SwiftLint/swiftlint" >/dev/null; then
${PODS_ROOT}/SwiftLint/swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
이렇게 하면 구축 시 라인이 적용되고 경고나 오류가 있으면 Xcode의 Issue Navigator에 표시됩니다.
Configuration
기본 규칙에서 사용하기 불편한 점이 많아 Lin 설정을 사용자 정의했습니다.
SwiftLitt를 가져온 프로젝트 루트 바로 아래에 생성
.swiftlint.yml
됩니다.필자는 다음과 같은 내용으로 제작하였다..swiftlint.yml
included:
- MyApp/
excluded:
- Pods/
opt_in_rules:
- closure_spacing
- conditional_returns_on_newline
- empty_count
- operator_usage_whitespace
disabled_rules:
- force_cast
- force_try
line_length: 300
identifier_name:
min_length:
warning: 1
includedLitt 객체의 디렉토리(파일) 경로에 대해 설명합니다.
excluded
Litt 객체에서 제외된 디렉토리(파일)의 경로를 설명합니다.CocoPods에 설치된 라이브러리는 Light 객체에서 제외합니다.
opt_in_rules
기본 배제 규칙을 추가하려면 여기에 설명하십시오.
규칙 일람표는 SwiftLitt의 GiitHub에 기재되어 있습니다.( https://github.com/realm/SwiftLint/blob/master/Rules.md )
disabled_rules
기본 규칙에서 비활성화하려면 여기에 설명하십시오.
가능한 한 여기에 무엇을 쓰지 않는 것이 좋겠지만, 필자는 상황에 따라forcecast와forcetry를 사용하기 때문에 이 두 규칙을 경고하는 것은 무효입니다.
기존 규칙의 경고 수준 조정
경고 레벨을 조정하려는 규칙 이름 다음에 값을 지정하여 설정할 수 있습니다.
필자는 맥북 프로 13-ich 모니터에서 자주 작업하다 보니 처음 가져올 때는 140 정도 썼지만, UIKit 어셈블리에 장착한 delegate 방법 등이 쉽게 넘어갈 수 있어 지금은 300 정도 쓰고 있다.
기본값은
min_length: warning: 2
이고 문자가 2글자인 변수는 경고를 보냅니다.Auto correct
SwiftLine은 autocollect 옵션을 추가해서 실행하면 경미한 오류를 자동으로 수정할 수 있습니다.
Auto correct를 실행하는 경우 Run Script 스크립트는 다음과 같습니다.
if which "${PODS_ROOT}/SwiftLint/swiftlint" >/dev/null; then
${PODS_ROOT}/SwiftLint/swiftlint autocorrect
${PODS_ROOT}/SwiftLint/swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
autocoorrect 옵션을 설정하면 표준 Line이 실행되지 않음swiftlint autocorrect
과 swiftlint
둘 다 실행해야 합니다.
Reference
이 문제에 관하여(SwiftLitt 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hofzzy/items/903c8474ef8c358fd4c3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)