
👋 들어가기 전
모듈화 도중 처음 보는 경고가 있어 원인 분석과 함께 해결방벙블 알아보자.
✊원인

먼저 경고를 해석해보자.
✅ DEFINES_MODULE = YES 설정이 되어 있음
- DEFINES_MODULE은 Swift에서 해당 모듈을 import할 수 있도록 모듈 맵을 자동 생성하는 설정이다.
- Objective-C 코드(.h, .m) 를 포함하고 있다면 umbrella header가 필요하다
- 하지만 umbrella header가 없거나 설정이 잘못되었으면 이 오류가 발생할 수있다.
- 하지만, 모듈 맵을 만들기 위한 umbrella header (.h)가 없어서 문제가 발생할 수 있다.
☝️해결법
✅ .h 파일 추가하기
objc 코드가 있으면 .h 파일을 추가해준다.
// MyLibrary.h
#import <Foundation/Foundation.h>
#import "SomeHeader.h"
✅ DEFINES_MODULE = NO 설정
objc 코드가 없다면 가장 간단한 방법이다.
Target -> Build Settings -> Packaging -> Define Module을 No로 설정

😀 소감 및 마무리
해결 방법 중에 module map을 만드는 방법도 있지만 현재 필요하지 않기 때문에
추후에 필요하다면 추가해보자.
'iOS' 카테고리의 다른 글
.xctemplate (0) | 2025.03.22 |
---|---|
시뮬레이터 vs 에뮬레이터 (0) | 2025.01.26 |
샌드박스와 파일시스템 (0) | 2025.01.26 |
리팩토링 결과 발표 (0) | 2025.01.11 |
패키지 만들기 (0) | 2025.01.07 |