Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.
The dependency tree looks like this:
* React
* cxxreact subspec
* **Boost** (versioned, 1.63.0)
* Folly
* **Boost** (any version, will resolve to 1.63.0 from above)
Alternative implementation of PR https://github.com/facebook/react-native/pull/16756. Fixes issue #16381.
(same as https://github.com/facebook/react-native/pull/16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios
[Add boost.podspec speed up download time & reduce size of the package](https://github.com/facebook/react-native/pull/16756)
[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes https://github.com/facebook/react-native/pull/17476
Differential Revision: D6746095
Pulled By: hramos
fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
Summary:
See https://github.com/facebook/react-native/issues/14326 for the bug
this fixes. This is a pretty ugly hack to work around what I think is
a CP bug. Since the C++ dependencies are only needed to build RN
itself, and not applications, don't the conflicting headers as source
files. Instead, use preserve_paths to get them unpacked into the
source tree under Pods/<Pod>, and arrange for them to get used with
HEADER_SEARCH_PATHS. This keeps them out of the project, so they
don't get included in the header map, and other (badly structured)
projects don't get confused.
Reviewed By: javache
Differential Revision: D5254716
fbshipit-source-id: cf33dcbcc71b5247843650c33ccf4fb08378e584
Summary:
This will require people who use CocoaPods to update their Podfiles. You can see an example of a Podfile set up to use the Cxx bridge here: https://github.com/mhorowitz/native-navigation-boilerplate/blob/master/ios/Podfile
If this doesn't work, you can continue to use the old bridge by adding a dependency of 'BatchedBridge' to the React subspecs in your Podfile, but this will stop working once the old bridge is removed.
Reviewed By: javache
Differential Revision: D4981920
fbshipit-source-id: 7c4f3bf1c3f9af3f934f03ec003a05d0cd3cb259