diff --git a/RNTester/Dummy.swift b/RNTester/Dummy.swift new file mode 100644 index 00000000000000..f8b62a3d5e405c --- /dev/null +++ b/RNTester/Dummy.swift @@ -0,0 +1,13 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import Foundation +// Added this dummy swift file to solve the app's compilation issue for Xcode 11. +// Following are the links with the explanation for this fix. +// D18420963, D18420963 +// https://github.com/Carthage/Carthage/issues/2825 +// https://twitter.com/krzyzanowskim/status/1151549874653081601?s=21 diff --git a/RNTester/Podfile b/RNTester/Podfile index a23083429b06b6..9b2d9f9a583316 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -17,6 +17,7 @@ def pods() # Additional Pods which aren't included in the default Podfile pod 'React-ART', :path => '../Libraries/ART' pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' + pod 'Yoga',:path => '../ReactCommon/yoga', :modular_headers => true # Additional Pods which are classed as unstable # @@ -24,8 +25,61 @@ def pods() # use_react_native!(path: "..", fabric_enabled: true) end +def flipper_pods() + flipperkit_version = '0.30.1' + pod 'FlipperKit', '~>' + flipperkit_version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutPlugin', '~>' + flipperkit_version, :configuration => 'Debug' + pod 'FlipperKit/SKIOSNetworkPlugin', '~>' + flipperkit_version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitUserDefaultsPlugin', '~>' + flipperkit_version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitReactPlugin', '~>' + flipperkit_version, :configuration => 'Debug' + + if ENV['USE_FRAMEWORKS'] == '1' + $static_framework = ['FlipperKit', 'Flipper', 'Flipper-Folly', + 'CocoaAsyncSocket', 'ComponentKit', 'Flipper-DoubleConversion', + 'Flipper-Glog', 'Flipper-PeerTalk', 'Flipper-RSocket', + 'CocoaLibEvent', 'OpenSSL-Universal', 'boost-for-react-native'] + + pre_install do |installer| + Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} + installer.pod_targets.each do |pod| + if $static_framework.include?(pod.name) + def pod.build_type; + Pod::Target::BuildType.static_library + end + end + end + end + end +end + +# Post Install processing for Flipper +def flipper_post_install(installer) + installer.pods_project.targets.each do |target| + if target.name == 'YogaKit' + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.1' + end + end + end + file_name = Dir.glob("*.xcodeproj")[0] + app_project = Xcodeproj::Project.open(file_name) + app_project.native_targets.each do |target| + target.build_configurations.each do |config| + cflags = config.build_settings['OTHER_CFLAGS'] || '$(inherited) ' + unless cflags.include? '-DFB_SONARKIT_ENABLED=1' + puts 'Adding -DFB_SONARKIT_ENABLED=1 in OTHER_CFLAGS...' + cflags << ' -DFB_SONARKIT_ENABLED=1 ' + end + config.build_settings['OTHER_CFLAGS'] = cflags + end + app_project.save + end + installer.pods_project.save +end + target 'RNTester' do pods() + flipper_pods() end target 'RNTesterUnitTests' do @@ -39,6 +93,7 @@ target 'RNTesterIntegrationTests' do end post_install do |installer| + flipper_post_install(installer) installer.pods_project.targets.each do |target| puts target.name end diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 24edf502948a6c..82aed0f58e3328 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -1,5 +1,7 @@ PODS: - boost-for-react-native (1.63.0) + - CocoaAsyncSocket (7.6.3) + - CocoaLibEvent (1.0.0) - DoubleConversion (1.1.6) - FBLazyVector (1000.0.0) - FBReactNativeSpec (1000.0.0): @@ -9,6 +11,52 @@ PODS: - React-Core (= 1000.0.0) - React-jsi (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) + - Flipper (0.30.1): + - Flipper-Folly (~> 2.1) + - Flipper-RSocket (~> 1.0) + - Flipper-DoubleConversion (1.1.7) + - Flipper-Folly (2.1.1): + - boost-for-react-native + - CocoaLibEvent (~> 1.0) + - Flipper-DoubleConversion + - Flipper-Glog + - OpenSSL-Universal (= 1.0.2.19) + - Flipper-Glog (0.3.6) + - Flipper-PeerTalk (0.0.4) + - Flipper-RSocket (1.0.0): + - Flipper-Folly (~> 2.0) + - FlipperKit (0.30.1): + - FlipperKit/Core (= 0.30.1) + - FlipperKit/Core (0.30.1): + - Flipper (~> 0.30.1) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - FlipperKit/CppBridge (0.30.1): + - Flipper (~> 0.30.1) + - FlipperKit/FBCxxFollyDynamicConvert (0.30.1): + - Flipper-Folly (~> 2.1) + - FlipperKit/FBDefines (0.30.1) + - FlipperKit/FKPortForwarding (0.30.1): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.30.1) + - FlipperKit/FlipperKitLayoutPlugin (0.30.1): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.30.1) + - FlipperKit/FlipperKitNetworkPlugin (0.30.1): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.30.1): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.30.1): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.30.1): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin - Folly (2018.10.22.00): - boost-for-react-native - DoubleConversion @@ -19,6 +67,9 @@ PODS: - DoubleConversion - glog - glog (0.3.5) + - OpenSSL-Universal (1.0.2.19): + - OpenSSL-Universal/Static (= 1.0.2.19) + - OpenSSL-Universal/Static (1.0.2.19) - RCTRequired (1000.0.0) - RCTTypeSafety (1000.0.0): - FBLazyVector (= 1000.0.0) @@ -277,11 +328,18 @@ PODS: - ReactCommon/callinvoker (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) DEPENDENCIES: - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../Libraries/FBLazyVector`) - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) + - FlipperKit (~> 0.30.1) + - FlipperKit/FlipperKitLayoutPlugin (~> 0.30.1) + - FlipperKit/FlipperKitReactPlugin (~> 0.30.1) + - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.30.1) + - FlipperKit/SKIOSNetworkPlugin (~> 0.30.1) - Folly (from `../third-party-podspecs/Folly.podspec`) - glog (from `../third-party-podspecs/glog.podspec`) - RCTRequired (from `../Libraries/RCTRequired`) @@ -315,6 +373,17 @@ DEPENDENCIES: SPEC REPOS: trunk: - boost-for-react-native + - CocoaAsyncSocket + - CocoaLibEvent + - Flipper + - Flipper-DoubleConversion + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - Flipper-RSocket + - FlipperKit + - OpenSSL-Universal + - YogaKit EXTERNAL SOURCES: DoubleConversion: @@ -376,11 +445,21 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 + CocoaAsyncSocket: eafaa68a7e0ec99ead0a7b35015e0bf25d2c8987 + CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f + DoubleConversion: cde416483dac037923206447da6e1454df403714 FBLazyVector: 9806caa151956ce2238f70bde6649a6e3468d2c2 FBReactNativeSpec: 4612edcbf25240e05263399a484cb14bf513872c - Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 - glog: 1f3da668190260b06b429bb211bfbee5cd790c28 + Flipper: d591b88245dc8c8147819aa249f911923c7417fc + Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-Folly: 2de3d03e0acc7064d5e4ed9f730e2f217486f162 + Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + Flipper-RSocket: 1260a31c05c238eabfa9bb8a64e3983049048371 + FlipperKit: 3e13631bca7c5ec0dd54ee1d096f5e5d32a5d784 + Folly: f1c65c1bdabb35617432cac9cf17d0cad310ce6f + glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 + OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 RCTRequired: f04f9813bccb37099f642722b46e879fc47c7e78 RCTTypeSafety: a905fc5bfde67305e22588fb5178289bc8bc6be7 React: 7b262249ab4afa1d300c9e90f50edcc2a5f72bcd @@ -404,7 +483,8 @@ SPEC CHECKSUMS: React-RCTVibration: 7ee1cf4f386ed200c70b2be1b09a744ab79861ba ReactCommon: ee43d06925ecaa2fc7a9d5d07adc2f77c9d65c72 Yoga: f7fa200d8c49f97b54c9421079e781fb900b5cae + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: fa397603c9a8f7cb49d7edc7fe85536d0789f34f +PODFILE CHECKSUM: 4662af01535bdfc6b1b358f77bd803c6130205df COCOAPODS: 1.8.4 diff --git a/RNTester/RNTester-Bridging-Header.h b/RNTester/RNTester-Bridging-Header.h new file mode 100755 index 00000000000000..5caf6516e0ee9f --- /dev/null +++ b/RNTester/RNTester-Bridging-Header.h @@ -0,0 +1,11 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + diff --git a/RNTester/RNTester/AppDelegate.mm b/RNTester/RNTester/AppDelegate.mm index 2819b4a42f1355..9900aa9068d28f 100644 --- a/RNTester/RNTester/AppDelegate.mm +++ b/RNTester/RNTester/AppDelegate.mm @@ -11,15 +11,15 @@ #import #import #import +#import +#import +#import +#import +#import #import #import -#import #import -#import #import -#import -#import -#import #import #import @@ -29,16 +29,27 @@ #endif #ifdef RN_FABRIC_ENABLED -#import #import +#import #endif #import #import "RNTesterTurboModuleProvider.h" -@interface AppDelegate() { +#if DEBUG +#ifdef FB_SONARKIT_ENABLED +#import +#import +#import +#import +#import +#import +#import +#endif +#endif +@interface AppDelegate () { #ifdef RN_FABRIC_ENABLED RCTSurfacePresenter *_surfacePresenter; #endif @@ -53,27 +64,29 @@ - (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWith { RCTEnableTurboModule(YES); - _bridge = [[RCTBridge alloc] initWithDelegate:self - launchOptions:launchOptions]; + _bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; // Appetizer.io params check NSDictionary *initProps = @{}; NSString *_routeUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"route"]; if (_routeUri) { - initProps = @{@"exampleFromAppetizeParams": [NSString stringWithFormat:@"rntester://example/%@Example", _routeUri]}; + initProps = + @{@"exampleFromAppetizeParams" : [NSString stringWithFormat:@"rntester://example/%@Example", _routeUri]}; } #ifdef RN_FABRIC_ENABLED - _surfacePresenter = [[RCTSurfacePresenter alloc] initWithBridge:_bridge - config:nil - imageLoader:RCTTurboModuleEnabled() ? - [_bridge moduleForName:@"RCTImageLoader" - lazilyLoadIfNecessary:YES] : nil - runtimeExecutor:nullptr]; + _surfacePresenter = [[RCTSurfacePresenter alloc] + initWithBridge:_bridge + config:nil + imageLoader:RCTTurboModuleEnabled() ? [_bridge moduleForName:@"RCTImageLoader" lazilyLoadIfNecessary:YES] + : nil + runtimeExecutor:nullptr]; _bridge.surfacePresenter = _surfacePresenter; - UIView *rootView = [[RCTFabricSurfaceHostingProxyRootView alloc] initWithBridge:_bridge moduleName:@"RNTesterApp" initialProperties:initProps]; + UIView *rootView = [[RCTFabricSurfaceHostingProxyRootView alloc] initWithBridge:_bridge + moduleName:@"RNTesterApp" + initialProperties:initProps]; #else UIView *rootView = [[RCTRootView alloc] initWithBridge:_bridge moduleName:@"RNTesterApp" initialProperties:initProps]; #endif @@ -83,20 +96,36 @@ - (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWith rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; + [self initializeFlipper:application]; return YES; } +- (void)initializeFlipper:(UIApplication *)application +{ +#if DEBUG +#ifdef FB_SONARKIT_ENABLED + FlipperClient *client = [FlipperClient sharedClient]; + SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; + [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application + withDescriptorMapper:layoutDescriptorMapper]]; + [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; + [client addPlugin:[FlipperKitReactPlugin new]]; + [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; + [client start]; +#endif +#endif +} + - (NSURL *)sourceURLForBridge:(__unused RCTBridge *)bridge { NSString *bundlePrefix = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"RN_BUNDLE_PREFIX"]; NSString *bundleRoot = [NSString stringWithFormat:@"%@RNTester/js/RNTesterApp.ios", bundlePrefix]; - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:bundleRoot - fallbackResource:nil]; + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:bundleRoot fallbackResource:nil]; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url - options:(NSDictionary *)options + options:(NSDictionary *)options { return [RCTLinkingManager application:app openURL:url options:options]; } @@ -105,12 +134,10 @@ - (void)loadSourceForBridge:(RCTBridge *)bridge onProgress:(RCTSourceLoadProgressBlock)onProgress onComplete:(RCTSourceLoadBlock)loadCallback { - [RCTJavaScriptLoader loadBundleAtURL:[self sourceURLForBridge:bridge] - onProgress:onProgress - onComplete:loadCallback]; + [RCTJavaScriptLoader loadBundleAtURL:[self sourceURLForBridge:bridge] onProgress:onProgress onComplete:loadCallback]; } -# pragma mark - RCTCxxBridgeDelegate +#pragma mark - RCTCxxBridgeDelegate - (std::unique_ptr)jsExecutorFactoryForBridge:(RCTBridge *)bridge { @@ -150,13 +177,15 @@ - (Class)getModuleClassFromName:(const char *)name - (id)getModuleInstanceFromClass:(Class)moduleClass { if (moduleClass == RCTImageLoader.class) { - return [[moduleClass alloc] initWithRedirectDelegate:nil loadersProvider:^NSArray> *{ - return @[[RCTLocalAssetImageLoader new]]; - } decodersProvider:^NSArray> *{ - return @[[RCTGIFImageDecoder new]]; - }]; + return [[moduleClass alloc] initWithRedirectDelegate:nil + loadersProvider:^NSArray> * { + return @ [[RCTLocalAssetImageLoader new]]; + } + decodersProvider:^NSArray> * { + return @ [[RCTGIFImageDecoder new]]; + }]; } else if (moduleClass == RCTNetworking.class) { - return [[moduleClass alloc] initWithHandlersProvider:^NSArray> *{ + return [[moduleClass alloc] initWithHandlersProvider:^NSArray> * { return @[ [RCTHTTPRequestHandler new], [RCTDataRequestHandler new], @@ -168,24 +197,27 @@ - (Class)getModuleClassFromName:(const char *)name return [moduleClass new]; } -# pragma mark - Push Notifications +#pragma mark - Push Notifications #if !TARGET_OS_TV && !TARGET_OS_UIKITFORMAC // Required to register for notifications -- (void)application:(__unused UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings +- (void)application:(__unused UIApplication *)application + didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [RCTPushNotificationManager didRegisterUserNotificationSettings:notificationSettings]; } // Required for the remoteNotificationsRegistered event. -- (void)application:(__unused UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +- (void)application:(__unused UIApplication *)application + didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } // Required for the remoteNotificationRegistrationError event. -- (void)application:(__unused UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +- (void)application:(__unused UIApplication *)application + didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError:error]; } @@ -197,7 +229,8 @@ - (void)application:(__unused UIApplication *)application didReceiveRemoteNotifi } // Required for the localNotificationReceived event. -- (void)application:(__unused UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification +- (void)application:(__unused UIApplication *)application + didReceiveLocalNotification:(UILocalNotification *)notification { [RCTPushNotificationManager didReceiveLocalNotification:notification]; } diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 2d85223c54b493..13bc15b1db5bc5 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -13,11 +13,10 @@ 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */; }; 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 42C7FD8921D436BBA216216D /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4C77A9826FF02A56911142 /* libPods-RNTester.a */; }; + 53D850BC23CDFF4500FC3530 /* Dummy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53D850BB23CDFF4500FC3530 /* Dummy.swift */; }; + 5A85925FE87A09A55C15D032 /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EEC579C77051560E10230062 /* libPods-RNTesterUnitTests.a */; }; 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; }; 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */; }; - 69B65AC442B001534251D909 /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BBFF3E3792E27C4FBA2CB43 /* libPods-RNTesterIntegrationTests.a */; }; - C23B0809CAE8A115772B092E /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A6C306038665FDDA3E54E2 /* libPods-RNTesterUnitTests.a */; }; E7C1241A22BEC44B00DA25C0 /* RNTesterIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7C1241922BEC44B00DA25C0 /* RNTesterIntegrationTests.m */; }; E7DB20D122B2BAA6005AC45F /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20A922B2BAA3005AC45F /* RCTBundleURLProviderTests.m */; }; E7DB20D222B2BAA6005AC45F /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AA22B2BAA3005AC45F /* RCTModuleInitNotificationRaceTests.m */; }; @@ -56,6 +55,8 @@ E7DB216622B2F3EC005AC45F /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB216122B2F3EC005AC45F /* RCTRootViewIntegrationTests.m */; }; E7DB216722B2F69F005AC45F /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB213022B2C649005AC45F /* JavaScriptCore.framework */; }; E7DB218C22B41FCD005AC45F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB218B22B41FCD005AC45F /* XCTest.framework */; }; + EBC9FADCE5F87BE928B90D90 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 402D752ECDD4D5A276DD6DD2 /* libPods-RNTester.a */; }; + F01448E7F16367E1ACA09D7A /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 94DA8EB9002F722FE3CBCBA1 /* libPods-RNTesterIntegrationTests.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -81,13 +82,15 @@ 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RNTester/Images.xcassets; sourceTree = ""; }; 34028D6B10F47E490042EB27 /* Pods-RNTesterUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.debug.xcconfig"; sourceTree = ""; }; 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = ""; }; - 42A6C306038665FDDA3E54E2 /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5BBFF3E3792E27C4FBA2CB43 /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 402D752ECDD4D5A276DD6DD2 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 53D850BA23CDFF4500FC3530 /* RNTester-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RNTester-Bridging-Header.h"; sourceTree = ""; }; + 53D850BB23CDFF4500FC3530 /* Dummy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dummy.swift; sourceTree = ""; }; 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = ""; }; 5C60EB1B226440DB0018C04F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = ""; }; 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RNTesterTurboModuleProvider.mm; path = RNTester/RNTesterTurboModuleProvider.mm; sourceTree = ""; }; 5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNTesterTurboModuleProvider.h; path = RNTester/RNTesterTurboModuleProvider.h; sourceTree = ""; }; 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.release.xcconfig"; sourceTree = ""; }; + 94DA8EB9002F722FE3CBCBA1 /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.debug.xcconfig"; sourceTree = ""; }; 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.debug.xcconfig"; sourceTree = ""; }; E771AEEA22B44E3100EA1189 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = ""; }; @@ -163,7 +166,7 @@ E7DB216122B2F3EC005AC45F /* RCTRootViewIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootViewIntegrationTests.m; sourceTree = ""; }; E7DB218B22B41FCD005AC45F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; E9618482EC8608D4872A6E28 /* Pods-RNTesterUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.release.xcconfig"; sourceTree = ""; }; - EA4C77A9826FF02A56911142 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EEC579C77051560E10230062 /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -171,7 +174,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 42C7FD8921D436BBA216216D /* libPods-RNTester.a in Frameworks */, + EBC9FADCE5F87BE928B90D90 /* libPods-RNTester.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -181,7 +184,7 @@ files = ( E7DB213122B2C649005AC45F /* JavaScriptCore.framework in Frameworks */, E7DB213222B2C67D005AC45F /* libOCMock.a in Frameworks */, - C23B0809CAE8A115772B092E /* libPods-RNTesterUnitTests.a in Frameworks */, + 5A85925FE87A09A55C15D032 /* libPods-RNTesterUnitTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -191,7 +194,7 @@ files = ( E7DB218C22B41FCD005AC45F /* XCTest.framework in Frameworks */, E7DB216722B2F69F005AC45F /* JavaScriptCore.framework in Frameworks */, - 69B65AC442B001534251D909 /* libPods-RNTesterIntegrationTests.a in Frameworks */, + F01448E7F16367E1ACA09D7A /* libPods-RNTesterIntegrationTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -221,6 +224,8 @@ 680759612239798500290469 /* Fabric */, 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */, 1323F18D1C04ABAC0091BED0 /* Supporting Files */, + 53D850BB23CDFF4500FC3530 /* Dummy.swift */, + 53D850BA23CDFF4500FC3530 /* RNTester-Bridging-Header.h */, ); name = RNTester; sourceTree = ""; @@ -261,9 +266,9 @@ E7DB211822B2BD53005AC45F /* libReact-RCTText.a */, E7DB211A22B2BD53005AC45F /* libReact-RCTVibration.a */, E7DB212222B2BD53005AC45F /* libyoga.a */, - EA4C77A9826FF02A56911142 /* libPods-RNTester.a */, - 5BBFF3E3792E27C4FBA2CB43 /* libPods-RNTesterIntegrationTests.a */, - 42A6C306038665FDDA3E54E2 /* libPods-RNTesterUnitTests.a */, + 402D752ECDD4D5A276DD6DD2 /* libPods-RNTester.a */, + 94DA8EB9002F722FE3CBCBA1 /* libPods-RNTesterIntegrationTests.a */, + EEC579C77051560E10230062 /* libPods-RNTesterUnitTests.a */, ); name = Frameworks; sourceTree = ""; @@ -451,6 +456,9 @@ LastUpgradeCheck = 0940; ORGANIZATIONNAME = Facebook; TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1130; + }; E7DB209E22B2BA84005AC45F = { CreatedOnToolsVersion = 10.2.1; }; @@ -612,6 +620,7 @@ 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */, 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */, 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */, + 53D850BC23CDFF4500FC3530 /* Dummy.swift in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -692,6 +701,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_ENABLE_MODULES = YES; DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -725,8 +735,15 @@ ); INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -736,6 +753,9 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; + SWIFT_OBJC_BRIDGING_HEADER = "RNTester-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -746,6 +766,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_ENABLE_MODULES = YES; DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -779,8 +800,15 @@ ); INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -790,6 +818,8 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; + SWIFT_OBJC_BRIDGING_HEADER = "RNTester-Bridging-Header.h"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; @@ -974,6 +1004,10 @@ ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterUnitTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1005,6 +1039,10 @@ "$(PROJECT_DIR)/RNTesterUnitTests", ); MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterUnitTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1015,6 +1053,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -1037,6 +1076,10 @@ ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterIntegrationTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1048,6 +1091,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -1066,6 +1110,10 @@ "@loader_path/Frameworks", ); MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterIntegrationTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2";