iOS

DEFINES_MODULE was set 경고

Hamp 2025. 3. 2. 22:42
반응형

👋 들어가기 전

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


✊원인

 

먼저 경고를 해석해보자.

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 ModuleNo로 설정


😀 소감 및 마무리

해결 방법 중에 module map을 만드는 방법도 있지만 현재 필요하지 않기 때문에

추후에 필요하다면 추가해보자.

반응형