3. 카카오뱅크 iOS 프로젝트의 모듈화 여정 if(kakao)2022
우리가 모듈화를 할 수 밖에 없었던 이유 KWDC 2023
Modular Architecture w/ Tuist Let’Swift 2022
Tuist, 도입은 했는데 그래서 Modular Architecture은 어떻게 만들어가면 되나요? Let’Swift 2023
iOS 애플리케이션 개발 생산성 고찰 Let’Swift 2023
Modular Architecture 시작하기 SyncSwift 2022
최근 발표된 모듈화 세션
4. 문제와 해결 사례
• 데모앱을 의존하는 유닛 테스트의 Derived Data 용량 이슈
• 데모앱 Bundle ID 이슈
• 리소스 관리
24. • XCTestPlan 수행 후 Derived Data 용량
• Feature에서 필요한 의존 모듈의 총 용량 : X
• Feature 개수 : N
• X * N
Feature 의존 모듈의 용량 Feature 모듈 개수 용량
300MB 100개 30GB
300MB 200개 60GB
500MB 200개 100GB
32. • 모듈화를 하는 경우
• 수십, 수백개의 데모앱을 만들고 운영
• Automatically manage signing을 켰다면?
• 수십, 수백개의 다른 Bundle Identifier를 가진 Identifier가 등록
• 수십, 수백개의 프로비저닝 파일 생성
• 기존 Xcode 정보 초기화, 신규 입사자, 신규 테스트 폰 등록 시 등
33.
34. 해결방안
• 관리 요소가 적은 모듈의 데모앱의 Bundle Identifier를 하나만 사용
• ex) kr.minsone.feature.demoapp
44. 정리
• 데모앱을 가진 유닛 테스트의 Derived Data 용량 이슈
• 테스트 타겟에서 Host Application을 None으로 설정
• 모듈의 데모앱 Bundle Identifier 이슈
• 모든 데모앱에 동일한 Bundle Identifier 사용
• 리소스 관리
• 전체 리소스를 관리하는 모듈을 통해 리소스 접근