Tuist 5

iOS 빌드 메시지 분석해서 빌드 시간 개선하기

iOS 빌드 메시지 분석해서 빌드 시간 개선하기 프로젝트 빌드 메시지를 분석해서 빌드 시간 개선해보고자 함. 예제 파일목차빌드 메시지 확인하는 방법프로젝트 구조 및 Home Package 확인하기1차 문제 분석 및 개선 방향성 잡기Player Package 확인하기Player Package 개선하기1차 개선 결과2차 문제 분석 및 개선 방향성 잡기문제 코드 영역 확인하기HomeDetail을 HomeDetailInterface 모듈로 분리하기개선한 Home Package2차 개선 결과실행 가능한 앱(데모 앱) 구성하기실행 가능한 앱(데모 앱) 빌드 결과결과 한눈에 확인하기1차 개선2차 개선앱 빌드 빌드 메시지 확인하는 방법좌측 인스펙터에 빨간색 이미지 영역 클릭 빌드 이미지를 보면 순차대로 어떤 것들이 ..

모듈화 리팩토링 과정에서 고민했던 것들

모듈화 리팩토링 과정에서 고민했던 것들 Tuist 3.x 버전으로 사용한게 마지막이라 4.x 버전으로 학습하고 변경해보고자 함.하나의 설계 방법보단 여러가지 설계들을 보면서 느끼고 경험하는 것이 중요하다고 해서 기존 쓰던 방식을 완전히 배제하고 다른 사람들이 사용하는 방식을 따라하는 수준 + 내 스타일 적용 요정도로 해보고자 함. 글의 순서프로젝트 모듈화 구조 스크린샷리팩토링 시작 전 생각 정리NetwrokSDK 모듈에 대해서feature에서 ui를 분리한 이유화면전환 어떻게 할 것인지이미 구현된 UI가 필요한 경우는 어떻게 할 것인가?관리하는데 드는 비용에 대한 고민마무리 소감 프로젝트 모듈화 구조 스크린샷  리팩토링 시작 전 생각 정리깃헙에 레포 돌아다니면서 다른 사람들이 사용하는 Tuist 참고하..

[Tuist] Mise Install

[Tuist] Mise InstallTuist 3점대에서 4점대로 바꾸려고 Tuist 문서에 들어가니까 Mise를 추천한다고 되어 있어서 학습하고자 함.사실상 에러 해결의 과정에 가까움. Tuist 3점대 사용하고 있었다면, 설치 해제부터 시작하기.tuist uninstalled Mise는 아래 공식 문서에 따라 학습 https://mise.jdx.dev/getting-started.htmlGetting Started | mise-en-placemise.jdx.dev 1. mise 설치curl https://mise.run | sh~/.local/bin/mise --versionmise 2024.x.x mise CLI를 설치하고 mise 버전 확인 2. Active mise & Alternat..

[Swift] New access modifier: package

New access modifier: package Introduction 현재 다른 모듈에서 특정 심볼에 접근하기 위해서는 public으로 정의되어야 함. public 패키지 내외부 모두에서 접근 가능하기에 바람직하지 않음. 따라서 새로운 접근제어자를 만들어 심볼의 범위를 더 명확하게 하고자 함. Swift 5.9에서 도입 Motivation Module Engine in gamePkg: public struct MainEngine { public init() { ... } // `public`으로 의도된 프로퍼티 public var stats: String { ... } // 동일한 패키지의 `Game`에서만 접근할 수 있는 `run` 함수 public func run() { ... } } Modul..

iOS SPM No Such Module

iOS SPM No Such Module  기존에는 패키지 기반으로 작업하지 않았는데, 최근에 로컬 소스도 Swift Package로 작업하는 예제들을 보아서 이를 공부하고 적용해보고자 함. 에러 스크린샷 패키지에서 개발할 때는 안되었는데 해당 패키지를 다른 영역에서 사용할 때 해당 에러가 발생  오류가 발생한 패키지 코드아래는 오류가 발생한 패키지 코드임// swift-tools-version: 5.6// The swift-tools-version declares the minimum version of Swift required to build this package.import PackageDescriptionlet package = Package( name: "kuring-campus-m..