๋๊ตดํฌํธ+ (ACNH-wiki) โ ๋ชจ์ฌ๋ด์ ๋๋ฌผ์ ์ฒ ๊ฐ์ด๋ iOS ์ฑ. UIKit + RxSwift + ReactorKit. ๋จ์ผ App ๋ชจ๋, Tuist ๋น๋ ์์คํ .
| ๋ชฉ์ | ๋ฌธ์ |
|---|---|
| ์ํคํ ์ฒ ์ ์ฒด ๊ตฌ์กฐ | docs/architecture.md |
| Reactor ์์ฑ๋ฒ | docs/patterns/reactor-pattern.md |
| Coordinator ์์ฑ๋ฒ | docs/patterns/coordinator-pattern.md |
| ๋ฐ์ดํฐ ํ๋ฆ (Items.shared) | docs/patterns/data-flow.md |
| ์ ํ๋ฉด ์ถ๊ฐ | docs/guides/add-new-screen.md |
| API ์๋ํฌ์ธํธ ์ถ๊ฐ | docs/guides/add-api-endpoint.md |
| CoreData ์ํฐํฐ ์ถ๊ฐ | docs/guides/add-coredata-entity.md |
| ๋น๋ / CI / SwiftLint | docs/guides/build-and-run.md |
| Dashboard ๊ธฐ๋ฅ | docs/features/dashboard.md |
| Catalog + Animals ๊ธฐ๋ฅ | docs/features/catalog.md |
| TurnipPrices ๊ธฐ๋ฅ | docs/features/turnip-prices.md |
| MusicPlayer ๊ธฐ๋ฅ | docs/features/music-player.md |
| iCloud Sync ๊ธฐ๋ฅ | docs/features/icloud-sync.md |
| ๋ค์ด๋ฐ/์ฉ์ด ์ฌ์ | docs/glossary.md |
| ํจ์ ๋ชฉ๋ก (ํ๋ ) | docs/gotchas.md |
| ๊ฒ์ฆ ์คํฌ๋ฆฝํธ ๊ฐ์ด๋ | docs/guides/validation.md |
mise install # Tuist 4.115.1 ์ค์น
mise x -- tuist install # SPM ์์กด์ฑ ์ค์น
mise x -- tuist generate --no-open # Xcode ํ๋ก์ ํธ ์์ฑ
mise x -- tuist build # CLI ๋น๋
swiftlint --config .swiftlint.yml # ๋ฆฐํธ ๊ฒ์ฌ
swiftlint --config .swiftlint.yml --fix # ์๋ ์์
make validate # ์ํคํ
์ฒ + ํจํด ๊ฒ์ฆ
make ci # ๋ฆฐํธ + ๊ฒ์ฆ + ๋น๋ (CI ์ ์ฒด ํ๋ฆ)| Path | ์ญํ |
|---|---|
Projects/App/Sources/ |
์ฑ ์์ค ๋ฃจํธ |
Projects/App/Sources/Presentation/ |
UI ๋ ์ด์ด (6 features) |
Projects/App/Sources/Utility/Items.swift |
์ค์ ๋ฐ์ดํฐ ํ๋ธ ์ฑ๊ธํค |
Projects/App/Sources/Coordinator.swift |
Coordinator ํ๋กํ ์ฝ |
Projects/App/Resources/{ko,en}.lproj/ |
๋ก์ปฌ๋ผ์ด์ ์ด์ |
Tuist/Package.swift |
SPM ์์กด์ฑ |
Projects/App/Project.swift |
Tuist ํ๋ก์ ํธ ์ ์ |
.swiftlint.yml |
SwiftLint ์ค์ |
scripts/validate-architecture.sh |
์ํคํ ์ฒ ๊ฒฝ๊ณ ๊ฒ์ฆ |
scripts/validate-patterns.sh |
ํจํด ๊ท์ฝ ๊ฒ์ฆ |
Makefile |
๋น๋/๊ฒ์ฆ/๋ฆฐํธ ํ๊ฒ |
- ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ๊ธ์ง (ํ ์น์ธ ํ์)
- RxSwift ๊ด๋ จ ํจํค์ง๋
.framework(dynamic) ์ ์ง โ gotchas.md #1 - ํ๋ฉด ์ ํ์ ๋ฐ๋์ Coordinator๋ฅผ ํตํด ์ํ
- ReactorKit ํจํด ์ค์: Action โ mutate() โ Mutation โ reduce() โ State
- ์ค์ ๋ณ๊ฒฝ ํ
mise x -- tuist generate์ฌ์คํ
- ์ฝ๋์ ์ฌ๊ณ ๊ณผ์ ์ ์์ด
- ์ต์ข ์๋ต์ ํ๊ตญ์ด