• Stars
    star
    160
  • Rank 234,703 (Top 5 %)
  • Language
    Swift
  • Created over 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tuist based iOS Application Project Template

iOSApplicationTemplate

์ด ํ”„๋กœ์ ํŠธ๋Š” Tuist๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

  1. Install tuist

    bash <(curl -Ls https://install.tuist.io)

  2. Run Tuist dependencies - (Optional, default installed SDK, path : ${Repository}/Libraries)

    $ tuist dependencies fetch
    
    # PinLayout์—์„œ ํ•ด๋‹น ํด๋”๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ ๋ฐœ์ƒํ•˜์—ฌ, TestProjects๋ฅผ ์‚ญ์ œํ•˜๊ณ  Carthage๋ฅผ ์ด์šฉํ•˜์—ฌ PinLayout๋ฅผ ๋นŒ๋“œํ•จ.
    $ rm -rf Tuist/Dependencies/Carthage/Checkouts/PinLayout/TestProjects
    $ carthage build PinLayout --project-directory Tuist/Dependencies --platform iOS --use-xcframeworks --no-use-binaries --use-netrc --cache-builds --verbose
    
    # ReactorKit ํ”„๋กœ์ ํŠธ๋Š” carthage๋ฅผ ์ง€์›์ด ์ž˜ ์•ˆ๋˜๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜ํ–‰.
    $ (cd Tuist/Dependencies/Carthage/Build && rm .ReactorKit.version .WeakMapTable.version) # ์ƒ์„ฑ ๊ธฐ๋ก ์‚ญ์ œ
    $ (cd Tuist/Dependencies/Carthage/Checkouts/ReactorKit && swift package generate-xcodeproj) # ReactorKit ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    $ (cd Tuist/Dependencies/Carthage/Checkouts/WeakMapTable && swift package generate-xcodeproj) # WeakMapTable ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    $ tuist dependencies fetch # Carthage ๋นŒ๋“œ
    
    # RIBs ํ”„๋กœ์ ํŠธ์˜ RxSwift, RxRelay ์˜์กด์„ฑ์ด framework๋กœ ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, xcframework๋กœ ๊ต์ฒดํ•จ.
    $ open Tuist/Dependencies/Carthage/Checkouts/RIBs/ios/RIBs.xcodeproj
    $ carthage build RIBs --project-directory Tuist/Dependencies --platform iOS --use-xcframeworks --no-use-binaries --use-netrc --cache-builds --verbose
    
    
    # ๊ณ„์† ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•จ.
    $ tuist dependencies fetch
    
  3. Run tuist generate

    tuist generate

  4. Open workspace

    open App.xcworkspace

  5. Run tuist scaffold

    tuist scaffold framework --name UtilityKit -p Projects/Modules/Foundation

Dependency Graph

Tuist๋ฅผ ์ด์šฉํ•˜์—ฌ Dependency Graph๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Œ.

$ tuist graph # Graph ์ƒ์„ฑ
$ tuist graph -t # ํ…Œ์ŠคํŠธ ํƒ€๊ฒŸ ์ œ์™ธ
$ tuist graph -d # ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ์™ธ
$ tuist graph -t -f dot # dot ํŒŒ์ผ๋กœ ์ถœ๋ ฅ

# Tests, Testing, Example ํƒ€๊ฒŸ์„ ์ œ์™ธํ•œ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ
$ ./script/generate_tuist_graph.sh.sh

graph

Tuist

Reference

Clean Architecture With Swinject, RIBs

clean_architecture_ribs

Design System

์‹œํ—˜ํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก

๋””์ž์ธ์‹œ์Šคํ…œ Ref

FlexLayout ์‚ฌ์šฉ๋ฒ• ์ฐธ๊ณ 

Navigation

์‚ฌ์šฉํ•œ, ์‚ฌ์šฉํ•  ๊ธฐํƒ€ ์˜คํ”ˆ์†Œ์Šค

Firebase