일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Swift-Web
- Publish
- Run Script
- SPM
- Micro Feature
- 아키텍쳐
- Swift
- 메모리 구조
- SwiftLint
- tuist 4
- wasm
- ios
- Module
- dependencies
- Tuist
- SwifWeb
- Build Phase
- Tuist 모듈화
- Dependencies.swift
- Swift Package Manager
- swiftwasm
- Architecture
- Prod
- Modular Architecture
- XCConfig
- Stencil
- rethrows
- 모듈화
- uFeature
- 4.0.0
- Today
- Total
목록ios (13)
baegteun - iOS
24년 2월 8일, Tuist 4.0.0이 공식적으로 릴리즈되었습니다.Tuist가 4.0.0 Major 버전이 업그레이드되면서 변경된 점을 알아보겠습니다.https://github.com/tuist/tuist/releases/tag/4.0.0tuistenv를 통한 버전 관리 Drophttps://github.com/tuist/tuist/pull/5556Tuist 4 이전에는 tuist install tuist uninstall 등의 명령어를 통해 로컬에 있는 Tuist의 버전을 변경하거나, .tuist-version 파일에 버전을 정의해놓아서 프로젝트에서 사용할 Tuist 버전을 고정해놓아서 사용할 수 있었습니다. 그리고 이런 기능을 제공하는 것이 tuistenv라는 도구였습니다. (tuist 설치 시 ..
이 글은 Tuist 버전 3.19.0을 기준으로 작성되었습니다. 이 글은 https://baegteun.tistory.com/11 해당 글에서 이어집니다. UserInterface 레이어 추가 협업할 때 XCConfig 불편함 개선 CI인지 여부를 Environment에서 관리하도록 변경 UserInterface 레이어 추가 기존 레이어의 문제점 Feature - Domain - Core - Shared 의 레이어를 가짐 Core안에 DesignSystem 모듈이 있어 핵심적인 기능으로 쓰일 모듈이 있다는 의미에서 약간 애매해짐 -> UI에 관련한 모듈들을 넣을 레이어로 UserInterface 레이어를 새로 분리하였습니다. 해당 레이어에서 디자인 시스템, 다국어 적용 등의 처리를 하는 모듈들이 위치해있..
이 글은 Tuist 버전 3.17.0 기준으로 작성되었습니다. 2024년 5월 21일 MicroFeatures 아키텍쳐가 The Modular Architecture로 rename 되었습니다. document - https://docs.tuist.io/guide/scale/tma-architectureThe Modular Architecture (TMA) | Tuistdocs.tuist.ioPR - https://github.com/tuist/tuist/pull/6305Micro Feature? Micro Feature는 확장을 가능하게 하고, 빌드 및 테스트 주기를 최적화하며, 팀의 모범 사례를 보장하기 위해 Apple OS 애플리케이션을 구성하는 아키텍처 접근 방식입니다. 핵심 아이디어는 명확하고 간..
이 글은 Tuist 버전 3.15.0을 기준으로 작성되었습니다. 전체 소스코드는 https://github.com/baekteun/Tuist_Modular_Template 에 공개 + 템플릿 으로 사용가능합니다. 스타 한번씩 눌러주시면 매우 감사합니다..! 레이어 모듈화 Micro Feature Tuist 설계 Plugin Project 생성 자동화 레이어 모듈보다 더 큰 관점에서 레이러를 먼저 분리해보도록 하겠습니다. Feature, Domain, Core, Shared로 아래와 같은 기준으로 분리하였습니다. Feature Presentation 부분 ex) AuthFeature, ProfileFeature Domain Business Logic 부분 ex) AuthDomain, ProfileDomai..
이 글은 Tuist 버전 3.14.0 기준으로 작성되었습니다. Configuration? 개발, 스테이지, 릴리즈 등의 배포환경을 분리할 때 Build Configuration을 활용합니다. XCConfig? Xcode 프로젝트 빌드의 설정을 구성하기 위한 파일입니다. Configuration 설정법 Settings 를 만들 때 base, configurations, defaultSettings 에서 configurations에 값을 넣어줘서 설정할 수 있습니다. configuration은 debug, release중 하나로 만들 수 있고 configuration별 이름을 정해줄 수 있습니다. configuration을 만들 때 settings와 xcconfig(경로)를 지정해줄 수 있습니다. 활용 Co..
프로그램이 실행되면 OS가 메모리 공간을 할당해주는데 Code, Data, Heap, Stack 4개로 나뉜다. Code 우리가 작성한 소스코드가 저장되는 영역이다. 소스코드를 기계어 형태 (0, 1) 로 변경하여 저장한다. 컴파일 타임에 결정되고, 중간에 코드가 변경되면 안되니 Read-Only로 저장된다. Data 이름 그대로 데이터를 저장하는 영역이다. 전역 변수, static 변수가 저장된다.enum Constant { static let apiKey = "" } var name = "baegteun" var number = 18 - 프로그램의 시작과 동시에 할당되고, 프로그램이 **종료되어야 해제**된다. - 실행 도중 값이 변경될 수도 있으니 **Read-Write**로 저장된다. # Heap..
rethrows 파라미터로 전달받는 함수(Closure)가 Error를 던질 때 사용 argument 내부에서 에러가 발생하면, 해당 argument에서 받은 Error를 다시 던질 수 있도록 명시 enum SomeError: Error { case someError } func someFunc(callback: () throws -> Void) { } func someThrowableFunc() throws { throw SomeError.someError } 위와 같이 함수 정의할 시 callback()을 사용하려 하면 enum SomeError: Error { case someError } func someFunc(callback: () throws -> Void) { do { try callbac..
Tuist를 사용하면서 다른 사람과 협업할 때, 각자 설치해놓은 버전이 다를 수 있습니다. 또한 Tuist의 업데이트 주기가 짧은 편이기에 더욱 이런 사태가 발생할 가능성이 크죠. 이때 해당 프로젝트에서 Tuist의 버전을 고정해서 사용하는 방법이 있습니다. 프로젝트의 root에서 .tuist-version 파일을 만들고 그 안에 고정해놓을 Tuist 버전을 작성해놓으면 됩니다. (ex. 3.10.0) References By https://docs.tuist.io/guides/version-management/#local