Rn-fetch-blob: 'React/RCTDefines.h' file not found

Created on 11 Oct 2019  路  14Comments  路  Source: joltup/rn-fetch-blob

Hi,

Installed Versions:

  • "react-native": "0.61.2"
  • "rn-fetch-blob": "^0.11.2"

we recently upgraded from react-native version 0.59 to 0.61 and now the rn-fetch-blob library no longer works with XCode, we get the following errors when trying to build the project:

Screenshot 2019-10-11 at 5 47 33 PM

In the error stack trace it says that the error originates from node_modules/rn-fetch-blob/ios/RNFetchBlob/RNFetchBlob.h:22

Any ideas or pointers on how we can solve this issue?

Thanks in advance for your support.

Best regards,
Thomas

Most helpful comment

Ok, I managed to fix it (for me, at least). What you do is the following:

  1. Go to Project navigator > Libraries > RNFetchBlob.xcodeproj
  2. Click on Build Settings and then the first item under "Targets"
  3. Scroll down to 'Search Paths'
  4. Double click to edit the 'Header Search Paths'
  5. Add the following entry (click '+'): ${SRCROOT}/../../../ios/Pods/Headers. Make sure to set it to recursive.
  6. Clean (cmd + shift + K) and re-build (cmd + B)

Repeat for other libraries that complain about missing React/<whatever>.h files, perhaps with differing amounts of ../ before the ios/Pods/Headers/

All 14 comments

Sounds like it might be a library configuration issue. Are you using the new podfile base autolinking?

Yes we use the podfile base autolinking. We now downgraded to version 0.60 and now it works :) Seems like it is only an issue with version 0.61 and above

is there a way to fix it for 0.61.2 we have exactly the same issue?

actually downgrading to 0.60.6 didn't solve a problem for us :(

Do native libraries work at all for you? For example, can you successfully use something like react-native-webview?

Also, if you have an old version of Xcode, you may need to update it to at least 10.

I found a work around by adding a condition in the import:

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

I am seeing this as well.

This is being caused by a few of our dependencies which don't support auto linking (they're linked manually).

@josectobar Where are you adding that workaround? If I replace the error line in the OP with that, I just get new errors ('React/RCTAssert.h' file not found).

Following. We are facingn the same issue
@josectobar

Ok, I managed to fix it (for me, at least). What you do is the following:

  1. Go to Project navigator > Libraries > RNFetchBlob.xcodeproj
  2. Click on Build Settings and then the first item under "Targets"
  3. Scroll down to 'Search Paths'
  4. Double click to edit the 'Header Search Paths'
  5. Add the following entry (click '+'): ${SRCROOT}/../../../ios/Pods/Headers. Make sure to set it to recursive.
  6. Clean (cmd + shift + K) and re-build (cmd + B)

Repeat for other libraries that complain about missing React/<whatever>.h files, perhaps with differing amounts of ../ before the ios/Pods/Headers/

Ok, I managed to fix it (for me, at least). What you do is the following:

  1. Go to Project navigator > Libraries > RNFetchBlob.xcodeproj
  2. Click on Build Settings and then the first item under "Targets"
  3. Scroll down to 'Search Paths'
  4. Double click to edit the 'Header Search Paths'
  5. Add the following entry (click '+'): ${SRCROOT}/../../../ios/Pods/Headers. Make sure to set it to recursive.
  6. Clean (cmd + shift + K) and re-build (cmd + B)

Repeat for other libraries that complain about missing React/<whatever>.h files, perhaps with differing amounts of ../ before the ios/Pods/Headers/

To sum up, I'll update my workaround here:
https://github.com/facebook/react-native/issues/26665#issuecomment-571082076

Ok, I managed to fix it (for me, at least). What you do is the following:

  1. Go to Project navigator > Libraries > RNFetchBlob.xcodeproj
  2. Click on Build Settings and then the first item under "Targets"
  3. Scroll down to 'Search Paths'
  4. Double click to edit the 'Header Search Paths'
  5. Add the following entry (click '+'): ${SRCROOT}/../../../ios/Pods/Headers. Make sure to set it to recursive.
  6. Clean (cmd + shift + K) and re-build (cmd + B)

Repeat for other libraries that complain about missing React/<whatever>.h files, perhaps with differing amounts of ../ before the ios/Pods/Headers/

Did anyone got this error while trying this solution?
Screen Shot 2020-03-28 at 12 44 14 PM

I have the same issue.
React-Native: 0.62.2
React: 16.11.0
rn-fetch-blob: 0.12.0

image

image

Recursive option was also set
image

Having the same issue with react-native-passcode-auth:

"react": "16.11.0",
"react-native": "0.62.2",
"react-native-passcode-auth": "^1.0.0",
Was this page helpful?
0 / 5 - 0 ratings

Related issues

Jeijie picture Jeijie  路  3Comments

pstanton picture pstanton  路  3Comments

drewandre picture drewandre  路  4Comments

MJXin picture MJXin  路  5Comments

sattaman picture sattaman  路  3Comments