Skip to content

Commit c572983

Browse files
committed
build: fixed the example code to be compatible with xcode 12.5+
1 parent 22566c0 commit c572983

File tree

3 files changed

+113
-53
lines changed

3 files changed

+113
-53
lines changed

example/ios/AppStateAwareFocusEffectExample.xcodeproj/project.pbxproj

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
13B07F8C1A680F5B00A75B9A /* Frameworks */,
123123
13B07F8E1A680F5B00A75B9A /* Resources */,
124124
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
125+
CCE18FCB6A15AC30CE0CE45B /* [CP] Embed Pods Frameworks */,
125126
);
126127
buildRules = (
127128
);
@@ -214,6 +215,28 @@
214215
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
215216
showEnvVarsInLog = 0;
216217
};
218+
CCE18FCB6A15AC30CE0CE45B /* [CP] Embed Pods Frameworks */ = {
219+
isa = PBXShellScriptBuildPhase;
220+
buildActionMask = 2147483647;
221+
files = (
222+
);
223+
inputPaths = (
224+
"${PODS_ROOT}/Target Support Files/Pods-AppStateAwareFocusEffectExample/Pods-AppStateAwareFocusEffectExample-frameworks.sh",
225+
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion",
226+
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog",
227+
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
228+
);
229+
name = "[CP] Embed Pods Frameworks";
230+
outputPaths = (
231+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework",
232+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework",
233+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
234+
);
235+
runOnlyForDeploymentPostprocessing = 0;
236+
shellPath = /bin/sh;
237+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AppStateAwareFocusEffectExample/Pods-AppStateAwareFocusEffectExample-frameworks.sh\"\n";
238+
showEnvVarsInLog = 0;
239+
};
217240
FD10A7F022414F080027D42C /* Start Packager */ = {
218241
isa = PBXShellScriptBuildPhase;
219242
buildActionMask = 2147483647;
@@ -268,7 +291,7 @@
268291
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
269292
CLANG_ENABLE_MODULES = YES;
270293
CURRENT_PROJECT_VERSION = 1;
271-
DEAD_CODE_STRIPPING = NO;
294+
DEAD_CODE_STRIPPING = YES;
272295
INFOPLIST_FILE = AppStateAwareFocusEffectExample/Info.plist;
273296
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
274297
OTHER_CFLAGS = (

example/ios/Podfile

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
platform :ios, '9.0'
1+
platform :ios, '11.0'
22
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
33

44
def add_flipper_pods!
5-
version = '~> 0.33.1'
5+
version = '~> 0.88.0'
66
pod 'FlipperKit', version, :configuration => 'Debug'
77
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
88
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
99
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
1010
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
1111
end
12+
1213
# Post Install processing for Flipper
1314
def flipper_post_install(installer)
1415
installer.pods_project.targets.each do |target|
@@ -61,7 +62,27 @@ target 'AppStateAwareFocusEffectExample' do
6162
# Note that if you have use_frameworks! enabled, Flipper will not work and
6263
# you should disable these next few lines.
6364
add_flipper_pods!
65+
6466
post_install do |installer|
6567
flipper_post_install(installer)
68+
69+
## Fix for XCode 12.5 beta
70+
find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
71+
"_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
72+
73+
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(strongModule))", "RCTBridgeModuleNameForClass(Class(strongModule)))")
6674
end
6775
end
76+
77+
def find_and_replace(dir, findstr, replacestr)
78+
Dir[dir].each do |name|
79+
text = File.read(name)
80+
replace = text.gsub(findstr,replacestr)
81+
if text != replace
82+
puts "Fix: " + name
83+
File.open(name, "w") { |file| file.puts replace }
84+
STDOUT.flush
85+
end
86+
end
87+
Dir[dir + '*/'].each(&method(:find_and_replace))
88+
end

example/ios/Podfile.lock

Lines changed: 66 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
PODS:
22
- boost-for-react-native (1.63.0)
3-
- CocoaAsyncSocket (7.6.4)
4-
- CocoaLibEvent (1.0.0)
3+
- CocoaAsyncSocket (7.6.5)
54
- DoubleConversion (1.1.6)
65
- FBLazyVector (0.62.2)
76
- FBReactNativeSpec (0.62.2):
@@ -11,50 +10,64 @@ PODS:
1110
- React-Core (= 0.62.2)
1211
- React-jsi (= 0.62.2)
1312
- ReactCommon/turbomodule/core (= 0.62.2)
14-
- Flipper (0.33.1):
15-
- Flipper-Folly (~> 2.1)
16-
- Flipper-RSocket (~> 1.0)
17-
- Flipper-DoubleConversion (1.1.7)
18-
- Flipper-Folly (2.2.0):
19-
- boost-for-react-native
20-
- CocoaLibEvent (~> 1.0)
13+
- Flipper (0.88.0):
14+
- Flipper-Folly (~> 2.6)
15+
- Flipper-RSocket (~> 1.4)
16+
- Flipper-Boost-iOSX (1.76.0.1.11)
17+
- Flipper-DoubleConversion (3.2.0)
18+
- Flipper-Fmt (7.1.7)
19+
- Flipper-Folly (2.6.10):
20+
- Flipper-Boost-iOSX
2121
- Flipper-DoubleConversion
22+
- Flipper-Fmt (= 7.1.7)
2223
- Flipper-Glog
23-
- OpenSSL-Universal (= 1.0.2.19)
24-
- Flipper-Glog (0.3.6)
24+
- libevent (~> 2.1.12)
25+
- OpenSSL-Universal (= 1.1.1100)
26+
- Flipper-Glog (0.5.0.4)
2527
- Flipper-PeerTalk (0.0.4)
26-
- Flipper-RSocket (1.1.0):
27-
- Flipper-Folly (~> 2.2)
28-
- FlipperKit (0.33.1):
29-
- FlipperKit/Core (= 0.33.1)
30-
- FlipperKit/Core (0.33.1):
31-
- Flipper (~> 0.33.1)
28+
- Flipper-RSocket (1.4.3):
29+
- Flipper-Folly (~> 2.6)
30+
- FlipperKit (0.88.0):
31+
- FlipperKit/Core (= 0.88.0)
32+
- FlipperKit/Core (0.88.0):
33+
- Flipper (~> 0.88.0)
3234
- FlipperKit/CppBridge
3335
- FlipperKit/FBCxxFollyDynamicConvert
3436
- FlipperKit/FBDefines
3537
- FlipperKit/FKPortForwarding
36-
- FlipperKit/CppBridge (0.33.1):
37-
- Flipper (~> 0.33.1)
38-
- FlipperKit/FBCxxFollyDynamicConvert (0.33.1):
39-
- Flipper-Folly (~> 2.1)
40-
- FlipperKit/FBDefines (0.33.1)
41-
- FlipperKit/FKPortForwarding (0.33.1):
38+
- FlipperKit/CppBridge (0.88.0):
39+
- Flipper (~> 0.88.0)
40+
- FlipperKit/FBCxxFollyDynamicConvert (0.88.0):
41+
- Flipper-Folly (~> 2.6)
42+
- FlipperKit/FBDefines (0.88.0)
43+
- FlipperKit/FKPortForwarding (0.88.0):
4244
- CocoaAsyncSocket (~> 7.6)
4345
- Flipper-PeerTalk (~> 0.0.4)
44-
- FlipperKit/FlipperKitHighlightOverlay (0.33.1)
45-
- FlipperKit/FlipperKitLayoutPlugin (0.33.1):
46+
- FlipperKit/FlipperKitHighlightOverlay (0.88.0)
47+
- FlipperKit/FlipperKitLayoutHelpers (0.88.0):
48+
- FlipperKit/Core
49+
- FlipperKit/FlipperKitHighlightOverlay
50+
- FlipperKit/FlipperKitLayoutTextSearchable
51+
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.88.0):
52+
- FlipperKit/Core
53+
- FlipperKit/FlipperKitHighlightOverlay
54+
- FlipperKit/FlipperKitLayoutHelpers
55+
- YogaKit (~> 1.18)
56+
- FlipperKit/FlipperKitLayoutPlugin (0.88.0):
4657
- FlipperKit/Core
4758
- FlipperKit/FlipperKitHighlightOverlay
59+
- FlipperKit/FlipperKitLayoutHelpers
60+
- FlipperKit/FlipperKitLayoutIOSDescriptors
4861
- FlipperKit/FlipperKitLayoutTextSearchable
4962
- YogaKit (~> 1.18)
50-
- FlipperKit/FlipperKitLayoutTextSearchable (0.33.1)
51-
- FlipperKit/FlipperKitNetworkPlugin (0.33.1):
63+
- FlipperKit/FlipperKitLayoutTextSearchable (0.88.0)
64+
- FlipperKit/FlipperKitNetworkPlugin (0.88.0):
5265
- FlipperKit/Core
53-
- FlipperKit/FlipperKitReactPlugin (0.33.1):
66+
- FlipperKit/FlipperKitReactPlugin (0.88.0):
5467
- FlipperKit/Core
55-
- FlipperKit/FlipperKitUserDefaultsPlugin (0.33.1):
68+
- FlipperKit/FlipperKitUserDefaultsPlugin (0.88.0):
5669
- FlipperKit/Core
57-
- FlipperKit/SKIOSNetworkPlugin (0.33.1):
70+
- FlipperKit/SKIOSNetworkPlugin (0.88.0):
5871
- FlipperKit/Core
5972
- FlipperKit/FlipperKitNetworkPlugin
6073
- Folly (2018.10.22.00):
@@ -67,9 +80,8 @@ PODS:
6780
- DoubleConversion
6881
- glog
6982
- glog (0.3.5)
70-
- OpenSSL-Universal (1.0.2.19):
71-
- OpenSSL-Universal/Static (= 1.0.2.19)
72-
- OpenSSL-Universal/Static (1.0.2.19)
83+
- libevent (2.1.12)
84+
- OpenSSL-Universal (1.1.1100)
7385
- RCTRequired (0.62.2)
7486
- RCTTypeSafety (0.62.2):
7587
- FBLazyVector (= 0.62.2)
@@ -304,11 +316,11 @@ DEPENDENCIES:
304316
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
305317
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
306318
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
307-
- FlipperKit (~> 0.33.1)
308-
- FlipperKit/FlipperKitLayoutPlugin (~> 0.33.1)
309-
- FlipperKit/FlipperKitReactPlugin (~> 0.33.1)
310-
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.33.1)
311-
- FlipperKit/SKIOSNetworkPlugin (~> 0.33.1)
319+
- FlipperKit (~> 0.88.0)
320+
- FlipperKit/FlipperKitLayoutPlugin (~> 0.88.0)
321+
- FlipperKit/FlipperKitReactPlugin (~> 0.88.0)
322+
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.88.0)
323+
- FlipperKit/SKIOSNetworkPlugin (~> 0.88.0)
312324
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
313325
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
314326
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
@@ -341,14 +353,16 @@ SPEC REPOS:
341353
trunk:
342354
- boost-for-react-native
343355
- CocoaAsyncSocket
344-
- CocoaLibEvent
345356
- Flipper
357+
- Flipper-Boost-iOSX
346358
- Flipper-DoubleConversion
359+
- Flipper-Fmt
347360
- Flipper-Folly
348361
- Flipper-Glog
349362
- Flipper-PeerTalk
350363
- Flipper-RSocket
351364
- FlipperKit
365+
- libevent
352366
- OpenSSL-Universal
353367
- YogaKit
354368

@@ -410,21 +424,23 @@ EXTERNAL SOURCES:
410424

411425
SPEC CHECKSUMS:
412426
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
413-
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
414-
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
427+
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
415428
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
416429
FBLazyVector: 4aab18c93cd9546e4bfed752b4084585eca8b245
417430
FBReactNativeSpec: 5465d51ccfeecb7faa12f9ae0024f2044ce4044e
418-
Flipper: 6c1f484f9a88d30ab3e272800d53688439e50f69
419-
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
420-
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
421-
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
431+
Flipper: bbba2bf26e3377be472c5afd4113a4c77c4af07a
432+
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
433+
Flipper-DoubleConversion: 3d3d04a078d4f3a1b6c6916587f159dc11f232c4
434+
Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
435+
Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3
436+
Flipper-Glog: 87bc98ff48de90cb5b0b5114ed3da79d85ee2dd4
422437
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
423-
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
424-
FlipperKit: 6dc9b8f4ef60d9e5ded7f0264db299c91f18832e
438+
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
439+
FlipperKit: 44a312ebace6e44d98d078e044178bedd42ea0c8
425440
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
426441
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
427-
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
442+
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
443+
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
428444
RCTRequired: cec6a34b3ac8a9915c37e7e4ad3aa74726ce4035
429445
RCTTypeSafety: 93006131180074cffa227a1075802c89a49dd4ce
430446
React: 29a8b1a02bd764fb7644ef04019270849b9a7ac3
@@ -449,6 +465,6 @@ SPEC CHECKSUMS:
449465
Yoga: 3ebccbdd559724312790e7742142d062476b698e
450466
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
451467

452-
PODFILE CHECKSUM: 5a45dfb9fecebd344508232a6faab11e967f9497
468+
PODFILE CHECKSUM: a1770d34308672f084b3c8660c2355cac4712674
453469

454-
COCOAPODS: 1.9.1
470+
COCOAPODS: 1.11.3

0 commit comments

Comments
 (0)