๋ฐ์ํ
SwiftLint
Xcode์์ ์ฝ๋ฉ ์ปจ๋ฒค์ ๊ด๋ จ ๊ท์น์ ์ ํ๊ณ ๊ท์น์ ์ด๊ธ๋๋ ๊ฒ์ด ์์ผ๋ฉด ๊ฒฝ๊ณ ์ฐฝ์ ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ค์น๋ฐฉ๋ฒ
1. SwiftLint ์ค์น
brew๋ก ์ค์นํด๋ณด๊ฒ ๋ค.
ํด๋น ํด๋๋ก ๊ฐ์
brew install swiftlint
์ ๋ ฅํ๋ค.
2. Run Script ์ค์
Targets > ํ๋ก์ ํธ ํด๋ > ์๋จ์ Build Phases > + ๋ฒํผ > New Run Script Phase > Run Script์ ์๋ ์ฝ๋๋ฅผ ๋ณต๋ถํ๋ค.
brew path์ ์์นํ SwiftLint๋ฅผ ์ฐพ์๊ฐ๋๋ก ํ๋ Script๋ค. ํ๊ฒฝ๋ณ์ ์ค์ ํ๋๊ฑฐ๋ ๋น์ทํ๋ค.
if test -d "/opt/homebrew/bin/"; then
PATH="/opt/homebrew/bin/:${PATH}"
fi
export PATH
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
3. .swiftlint.yml ํ์ผ ์์ฑ
emptyํ์ผ์ ํ๋ก์ ํธ ์ต์๋จ ๋๋ ํ ๋ฆฌ์ ์์ฑํ๋ค.
๊ท์น์ ํ๊ณผ ํ์ํ์ฌ ์ปจ๋ฒค์ ์ ์ ํ๋๋ก ํ๋ค.
์์๋ ์๋์ ๊ฐ๋ค.
disabled_rules: // ์๋ ๋ฃฐ์ ๊ฒ์ฌ ๋์์์ ์ ์ธํ๊ฒ ๋ค๋ ๋ป
- trailing_whitespace
- xctfail_message
- function_parameter_count
- legacy_constructor
- force_cast
- trailing_comma
- force_try
- identifier_name
type_body_length: 250 // ํ์
/ํจ์/ํ์ผ ๋ฑ์ ์ฝ๋๊ธธ์ด ์ ํ์ ๋ณ๊ฒฝํ๊ฒ ๋ค๋ ๋ป
line_length: 120
function_body_length: 50
file_length: 500
๊ทธ๋ ๊ฒ ๋ชจ๋ ์ค์ ์ ์๋ฃํ๊ณ Run๋ฒํผ ๋๋ฅด๋ฉด
๊ท์น์ ์ด๊ธ๋ ์ฝ๋๋ค์ด ๊ฒฝ๊ณ ์ฐฝ์ ๋์ด๋ค.
๋ฐ์ํ
'๐ iOS > UIkit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AVPlayer, AVPlayItem (0) | 2023.06.29 |
---|---|
AVFoundation (0) | 2023.06.29 |
[UIkit] Alert (0) | 2023.03.27 |
UIView์ Drawing Cycle (0) | 2023.03.24 |
App Lifecycle (0) | 2023.03.23 |