Skip to content

Commit 8858d87

Browse files
Javier Cuevasalloy
Javier Cuevas
authored andcommitted
Exclude all FlipperKit transitive dependencies from iOS Release builds (#28504)
Summary: The `:configuration` option from `pod` only affects the specified pod and not its dependencies [1]. Therefore in order to avoid all transitive dependencies being linked in the resulting Release IPA we need to list them in the `Podfile`. Note that this will still build Flipper's pods when doing a Release, but it won't link it in the resulting IPA. [1] https://guides.cocoapods.org/syntax/podfile.html#pod Fixes react-native-community/upgrade-support#28 Related CocoaPods/CocoaPods#9658 * [iOS] [Fixed] - Exclude Flipper from iOS Release builds Pull Request resolved: #28504 Test Plan: Create a new React Native 0.62 project, run `pod install`, then diff: ``` ProjectName/ios/Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.debug.xcconfig` ``` and ``` ProjectName/ios/Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.relaese.xcconfig ``` ![image](https://user-images.githubusercontent.com/855995/78337679-a3fa0280-7591-11ea-8142-6f82cbc6be58.png) Reviewed By: passy Differential Revision: D20894406 Pulled By: priteshrnandgaonkar fbshipit-source-id: 680780f0f5a85fd8423b85a271a499bd12f06d00
1 parent 4fd9c9d commit 8858d87

File tree

2 files changed

+60
-13
lines changed

2 files changed

+60
-13
lines changed

scripts/autolink-ios.rb

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,36 @@ def use_react_native! (options={})
5757
end
5858
end
5959

60-
def add_flipper_pods!(version = '~> 0.33.1')
61-
pod 'FlipperKit', version, :configuration => 'Debug'
62-
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
63-
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
64-
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
65-
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
60+
def add_flipper_pods!(versions = {})
61+
versions['Flipper'] ||= '~> 0.33.1'
62+
versions['DoubleConversion'] ||= '1.1.7'
63+
versions['Flipper-Folly'] ||= '~> 2.1'
64+
versions['Flipper-Glog'] ||= '0.3.6'
65+
versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
66+
versions['Flipper-RSocket'] ||= '~> 1.0'
67+
68+
pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
69+
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
70+
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
71+
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
72+
pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'
73+
74+
# List all transitive dependencies for FlipperKit pods
75+
# to avoid them being linked in Release builds
76+
pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
77+
pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
78+
pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
79+
pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
80+
pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
81+
pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
82+
pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
83+
pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
84+
pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
85+
pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
86+
pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
87+
pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
88+
pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
89+
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
6690
end
6791

6892
# Post Install processing for Flipper

template/ios/Podfile

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,36 @@
11
platform :ios, '9.0'
22
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
33

4-
def add_flipper_pods!
5-
version = '~> 0.33.1'
6-
pod 'FlipperKit', version, :configuration => 'Debug'
7-
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
8-
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
9-
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
10-
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
4+
def add_flipper_pods!(versions = {})
5+
versions['Flipper'] ||= '~> 0.33.1'
6+
versions['DoubleConversion'] ||= '1.1.7'
7+
versions['Flipper-Folly'] ||= '~> 2.1'
8+
versions['Flipper-Glog'] ||= '0.3.6'
9+
versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
10+
versions['Flipper-RSocket'] ||= '~> 1.0'
11+
12+
pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
13+
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
14+
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
15+
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
16+
pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'
17+
18+
# List all transitive dependencies for FlipperKit pods
19+
# to avoid them being linked in Release builds
20+
pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
21+
pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
22+
pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
23+
pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
24+
pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
25+
pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
26+
pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
27+
pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
28+
pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
29+
pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
30+
pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
31+
pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
32+
pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
33+
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
1134
end
1235

1336
# Post Install processing for Flipper

0 commit comments

Comments
 (0)