React Native / Xcode Upgrade and now RCTConvert.h not found

前端 未结 10 2507
面向向阳花
面向向阳花 2020-11-28 05:03

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/ru

相关标签:
10条回答
  • 2020-11-28 05:19

    I had the same issue. I have solved it by removing the Test target of my app from build scheme.

    0 讨论(0)
  • 2020-11-28 05:21

    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:

    1. In Xcode, go to the project scheme (Product -> Scheme -> Manage Scheme -> double click your project).
    2. Click on the 'Build' option at the left pane.
    3. Uncheck 'Parallelize Build' under Build Options.
    4. Then in Targets section, click '+' button then search for 'React'. Select it and click 'Add'.
    5. 'React' should now appear under Targets section. Click and drag it to the top so that it will be the first item in the list (before your project).
    6. Clean the project and build.

    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.

    0 讨论(0)
  • 2020-11-28 05:25

    Here is how I made it work:

    • I cleaned my package.json to the latest version,
    • I did the trick by @max23_
    • I replaced all the #import '....h' that were causing error to the corresponding #import <React/.....h>.
    0 讨论(0)
  • 2020-11-28 05:26

    If you use pod, maybe you can try this solution:

    Go to Header Search Paths: Pods -> TARGETS -> (YOUR TARGET, like my target is RNGL) -> Build Settings -> All -> Search Paths -> Header Search Paths

    add a path: "${PODS_ROOT}/Headers/Public/React" non-recursive

    0 讨论(0)
  • 2020-11-28 05:26

    If your app isn't to large, just

    1) rename original app
    2) create the same app again react-native init <orig_app_name>
    3) copy over all necessary files from your original app to the newly created one
    4) adjust the package.json
    5) npm install
    6) react-native run-<ios|android>
    

    I spent hours to find, where to link the new libraries, it was at least a valuable option and shortcut for me.

    hope it helps somebody

    0 讨论(0)
  • 2020-11-28 05:27

    Update from

    import "RCT/BridgeModule.h"

    to

    import "React/RCT/BridgeModule.h"

    the clean and build.

    Although, I have not tested it, I suspect if I made no changes and just clean and build it would have done the trick.

    0 讨论(0)
提交回复
热议问题