App ran fine on React Native 0.35.0. After updating to 0.40.0 via react-native-git-upgrade I get a number of lexical/preprocessor issues when trying to build/run the app in XCode.
React/RCTBridgeModule.h' file not found
When clicking on the issue I see this highlighted:
#import <React/RCTBridgeModule.h>
It doesn't appear to be a search path issue.
I've tried deleting node_modules and running npm install again, but that hasn't fixed anything.
As pointed out by th0th, there is a breaking change in RN 0.40 for iOS. In short, RN header declarations are updated to point to the include path $(BUILT_PRODUCTS_DIR)/include/React.
To solve the issue, you have to do the following:
Note: You might still have similar header issue with other libraries (e.g. react-native-fbsdk) that are referring to those react native .h files.
In react-native 0.40
you have to replace #import "RCTBridgeModule.h" with #import <React/RCTBridgeModule.h>
then clean and build it again.
There is a breaking change on 0.40, you can see details here.
Quoting directly from the release notes:
This means that all iOS native libraries need a major version bump for RN 0.40. We attempt to minimize changes of this magnitude, and we apologize for any inconvenience caused.
So, all native iOS libraries will need an update before getting compatible with react-native version 0.40.