React Native/React Native_error

[React Native - ios] 'React/RCTDefines.h' file not found

bocoder
728x90
반응형

* react-native 0.64.2 → 0.65.1 로 업그레이드 후 빌드 시 발생

 

React Native Upgrade Helper 의 가이드에 따라 v0.65.1 으로 업그레이드 후,

Xcode v12.0.1 에서 Build SystemNew Build System 으로 빌드 시 아래와 같이 에러가 발생함

 

'React/RCTDefines.h' file not found 에러가 발생했고, 

오른쪽의  상세보기를 클릭하면 아래와 같이 RCTBridgeModule 에 뭔가 수정이 필요해 보인다.

In file included from /Users/.../react-native_0.65.1/node_modules/react-native-haptic-feedback/ios/RNReactNativeHapticFeedback.m:2:
In file included from /Users/.../react-native_0.65.1/node_modules/react-native-haptic-feedback/ios/RNReactNativeHapticFeedback.h:5:
../../react-native/React/Base/RCTBridgeModule.h:11:9: fatal error: 'React/RCTDefines.h' file not found
#import <React/RCTDefines.h>
        ^~~~~~~~~~~~~~~~~~~~
1 error generated.

 

아래 위치에서 #import <React/RCTDefines.h> 를 조금 수정해주면 해결됨

 

# node_module > react-native > React > Base > RCTBridgeModule.h 

//before

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#import <React/RCTDefines.h>

...

//after 

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#if __has_include("RCTDefines.h")
  #import "RCTDefines.h"
#else
 #import <React/RCTDefines.h>
#endif

...

* reference : https://github.com/facebook/react-native/issues/26754#issuecomment-539550146

728x90
반응형