티스토리 뷰
#17 [React Native/iOS]React Native 0.75.4 버전, iamport-react-native CommandSwiftVerifyEmittedModulelnterfacefailed with a nonzero exit code 에러 해결하기
이도형 2024. 10. 30. 23:26에러이미지
RN 0.69.4버전에서 0.75.4로 마이그레이션중 iOS에서 발생한에러다.
온갖 디버깅과, 구글링을 시도해봤지만 pod install --repo -update나, derivedData폴더를 비우라는 제안이 대부분이었지만 해결이 되지 않았고,
3시간가까이를 헤매다가, 사수분의 도움으로 간신히 해결할 수 있었다!(감사합니다 갓현웅🙏🏻🙏🏻)

해결책

-no-verify-emitter-module-interface는 Swift 컴파일러에 전달하여 .swiftinterface 파일과 같은 모듈 인터페이스의 검증 방식을 변경하는 플래그다.
Swift에서는 라이브러리의 공개 API를 포함한 모듈 인터페이스 파일(.swiftinterface)을 생성하는데, 이 파일은 코드 호환성을 높이기 위해 다른 Swift 버전 간에도 모듈을 쉽게 사용할 수 있도록 도와준다. 기본적으로 컴파일러는 이 파일이 잘 생성되었는지 검증하지만, -no-verify-emitter-module-interface 플래그를 사용하면 이러한 검증을 건너뛰도록 설정할 수 있다.
이 플래그는 컴파일 속도를 높일 때 유용할 수 있지만, 검증을 생략하면 잠재적으로 문제 있는 인터페이스가 만들어질 수 있으므로 주의가 필요하다...(By GPT)
Reference
You can try change the default behavior of the Swift compiler by passing -no-verify-emitter-module-interface to OTHER_SWIFT_FLAGS
https://github.com/swiftlang/swift/issues/64669#issuecomment-1488918361
Xcode 14.3 RC 2 (14E222b)/Swift Compiler 5.8 SwiftVerifyEmittedModuleInterface failed to verify module interface · Issue #64
Description Use Xcode 14.3 RC 2 compile a swift file which import a objc clang module, and a framework with swiftinterface, verify module interface happened error. The clang module path is explicit...
github.com
You can try change the default behavior of the Swift compiler by passing -no-verify-emitter-module-interface to OTHER_SWIFT_FLAGS