일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftLint
- SwifWeb
- 4.0.0
- XCConfig
- Run Script
- dependencies
- Stencil
- 메모리 구조
- Tuist 모듈화
- Publish
- 아키텍쳐
- 모듈화
- Dependencies.swift
- Architecture
- SPM
- swiftwasm
- Swift
- Prod
- tuist 4
- Tuist
- Swift Package Manager
- rethrows
- Micro Feature
- Swift-Web
- uFeature
- Modular Architecture
- Build Phase
- ios
- Module
- wasm
- Today
- Total
목록Swift (15)
baegteun - iOS
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
이 글은 Tuist 버전 3.9.0 기준으로 작성되었습니다. Plugin? Tuist의 Plugin은 Tuist 기능을 확장하는 데 사용합니다. Plugin 사용법 Tuist에서 Plugin을 사용하기 위해서는 Config.swift에서 Plugin을 정의해야 합니다. 이때 Plugin은 Local 또는 Remote(Git)에서 가져올 수 있습니다. 가져온 Plugin은 import해서 안의 코드를 사용할 수 있습니다. let config = Config( plugins: [ ] ) Local Local에서 Plugin을 가져오려면 Path를 지정해서 가져올 수 있습니다. 아래와 같이 가져올 수 있습니다. import ProjectDescription let config = Config( plugins:..
이 글은 Tuist 버전 3.9.0 기준으로 작성되었습니다. Tuist로 프로젝트를 만들 때 Target에 scripts를 추가할 수 있습니다. 이 script는 Build Phase에서 Run Script로 추가됩니다. pre 또는 post로 만들 수 있는데 pre는 빌드 전, post는 빌드 후에 실행되는 script입니다. Example 예제로 SwiftLint를 Run Script로 만들어보겠습니다. Run Script를 추가할 프로젝트에서 tuist edit으로 edit을 시작합니다. Run Script의 실행할 Script는 직접 문자열로 script를 넣어주는 거랑, .sh파일로 스크립트 작성 후 경로를 지정해주는 방법이 있습니다. if test -d "/opt/homebrew/bin/"; ..
Tuist에서 프로젝트를 만들때, dependencies에 다른 프로젝트 또는 라이브러리같은 의존성을 추가할 수 있습니다. 이때 TargetDependency이나 Package의 extension으로 다른 프로젝트같은 의존성을 추가해놓으면 쉽게 관리할 수 있습니다. (1편의 샘플 프로젝트에서 이어집니다.) 프로젝트 tuist edit으로 edit을 열어줍니다. Tuist/ProjectDescriptionHelpers Group아래에 Dependency+Project.swift 파일을 만듭니다. 여기에는 프로젝트들을 extension에 추가해놓을 겁니다. // Dependency+Project.swift import ProjectDescription extension TargetDependency { pu..
이 글은 Tuist 버전 3.9.0 기준으로 작성되었습니다. 외부 의존성 관리 방법 Tuist에서 지원하는 외부 의존성을 가져와서 쓰는 방법은 Xcode의 native Swift Package Manager Tuist의 Swift Package Manager Tuist의 Carthage Framework(xcframework) 가 메이저한 방법들입니다. Xcode native Swift Package Manager Xcode에서 다룰 수 있는 그 SPM입니다. 원래는 3 버전으로 업데이트하면서 deprecated되었으나, Tuist 3.9.0으로 릴리즈할 때 deprecated가 해제되었습니다. 사용법 packages에 패키지를 등록하고 dependencies에 의존성을 등록합니다. import Proj..
Tuist? Xcode 프로젝트 관리 툴? Why Tuist? 설치 Manifests Project.swift Workspace.swift Config.swift Target 샘플 프로젝트 모듈 생성 Method 모듈 구조 만들기 결론 Tuist? Xcode 프로젝트를 관리하는 툴입니다. Project.swift 파일을 통해서 프로젝트 설정을 관리할 수 있습니다. Xcode 프로젝트 관리 툴? .xcodeproj를 깃허브에 올려놓고 협업을 한다면 .pbxproj파일에서 충돌이 일어날 수 있습니다. 이를 예방하기 위해 코드 적으로 프로젝트를 관리 할 수 있게 해주는 것이 프로젝트 관리 툴입니다. 또한 모듈화를 할 때 모듈 구조를 관리하는 데에 편리합니다. 대표적으로 XcodeGen, Tuist 등이 있습니..