Useful or not, from you.
react-native-firebase iOS build fails on real devices with React Native 0.62

I appreciate the official RN recommended version is 0.61 but I though worth flagging that an upgrade to 0.62 breaks iOS build for real devices as per this issue.

The issue seems related to using BoringSSL and newly introduced Flipper using openSSL

Please note it works OK on simulator

My error is :

Pods/OpenSSL-Universal/ios/lib/libcrypto.a(bio_lib.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

From package.json

    "@react-native-firebase/app": "^6.3.4",
    "@react-native-firebase/auth": "^6.3.4",
    "@react-native-firebase/firestore": "^6.3.4",
    "@react-native-firebase/functions": "^6.3.4",

Podfile:

  version = '~> 0.33.1'
  pod 'FlipperKit', version, :configuration => 'Debug'

PS: I also tried with FlipperKit version 0.35 with same issue.

Happy to provide more context if needed.

Thanks

That's a useful answer
Without any help

Sadly confirmed. Out of the box react-native-firebase is does not work on real iOS devices with react-native 0.62.

Original report was RNFBv6, I'm on RNFBv5.6.0 so it's a pretty general incompatibility. I think it might be a general problem with react-native 0.62 actually, and react-native-firebase is just collateral damage

Workarounds:

  1. Disable bitcode like the message says (app build settings 'enable bitcode' to 'no', confirmed works, but this solution isn't great)
  2. Use a version of the OpenSSL-Universal pod with bitcode (it was just changed: https://github.com/krzyzanowskim/OpenSSL/pull/74) - that's version 1.2.0.18 - I do not know Podfiles well enough to programmatically alter the version number from 1.2.0.18, is it possible?
  3. I'm testing right now if only disabling bitcode in development is sufficient. Flipper is not supposed to be enabled in release, so perhaps it will work? I'm testing that now