(iOS – swift) 6. Tuist로 모듈화 – tuist 그래프 사용 방법(의존성 확인, 종속성 관리)

* 색인

쉬운 목차

정적 프레임, 동적 프레임

* 정적 프레임워크와 동적 프레임워크의 개념은 이전 게시물을 참조하세요.

  • tuist로 정적 및 동적 프레임워크 구축

종속성 관리 방법

* 시작 프로젝트: 자식

  • Tuist 그래프 명령 실행
tuist graph
  • Tuist Graph 실행 시 아래와 같은 경고가 뜨며 그래프 파일이 생성되지 않습니다.

% tuist graph   
Installing GraphViz... 
Warning: your HOMEBREW_PREFIX is set to /usr/local but HOMEBREW_CELLAR is set
to /usr/local/Homebrew/Cellar. Your current HOMEBREW_CELLAR location will stop
you being able to use all the binary packages (bottles) Homebrew provides. We
recommend you move your HOMEBREW_CELLAR to /usr/local/Cellar which will get you
access to all bottles."

...

You must: brew install svn
Error: graphviz: Failed to download resource "netpbm"
Failure while executing; `/usr/bin/env svn checkout https://svn.code.sf.net/p/netpbm/code/stable /Users/jake/Library/Caches/Homebrew/netpbm--svn --quiet -r 4482` exited with 1. Here's the output:
You must: brew install svn

The 'brew' command exited with error code 1
Consider creating an issue using the following link: https://github.com/tuist/tuist/issues/new/choose
  • HOMEBREW_CELLAR 위치 문제이므로 다음 명령어를 사용하여 지하 위치를 변경하고 Tuist Graph를 다시 입력하여 프로세스를 완료합니다.

% sudo mv /usr/local/Homebrew/Cellar /usr/local/Cellar
  • tuist 그래프가 성공하면 아래와 같이 graph.png 파일이 생성됩니다.


Tuist 그래프 결과

생성된 graph.png 파일

  • 사진에 따라 특징이 있어 사진을 보시면 쉽게 구분이 됩니다
    • 주황색 DB 모양은 동적 프레임입니다.

    • 빨간색 DB 형식은 정적 프레임워크입니다.


https://docs.tuist.io/1/commands/graph/

종속성 관리 주의 사항

하나). 한 방향으로 종속성 만들기

  • 의존성이 원을 형성하면 결합도가 높아져 한 방향으로만 형성된다.

2). 두 개 이상의 동적 프레임워크가 정적 프레임워크에 의존하는 경우

  • 정적 프레임워크에 대한 종속성은 코드 복사를 유발하므로 하나의 동적 프레임워크만 종속되도록 해야 합니다(동적 프레임워크와 정적 프레임워크 모두 정적 프레임워크에 종속될 수 있음).

* 전체 코드:

* 참조

https://docs.tuist.io/1/commands/graph/