From 1ed4402cf7a0d9b27290448e3d6e1b631f581fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 19 Jul 2022 13:10:13 +0200 Subject: [PATCH 01/33] Update podspec file for fabric --- package/react-native-slider.podspec | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/package/react-native-slider.podspec b/package/react-native-slider.podspec index 72126fbe..673cfb0e 100644 --- a/package/react-native-slider.podspec +++ b/package/react-native-slider.podspec @@ -2,6 +2,9 @@ require 'json' package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) +folly_version = '2021.06.28.00-v2' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' + Pod::Spec.new do |s| s.name = "react-native-slider" s.version = package['version'] @@ -16,4 +19,21 @@ Pod::Spec.new do |s| s.source_files = "ios/**/*.{h,m}" s.dependency 'React-Core' + + # This guard prevent to install the dependencies when we run `pod install` in the old architecture. + if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then + s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" + s.pod_target_xcconfig = { + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"", + "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + } + + s.dependency "React-RCTFabric" + s.dependency "React-Codegen" + s.dependency "RCT-Folly", folly_version + s.dependency "RCTRequired" + s.dependency "RCTTypeSafety" + s.dependency "ReactCommon/turbomodule/core" + end end From 51ca37e37809a042973d6571fd372616d31bbafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 19 Jul 2022 13:23:45 +0200 Subject: [PATCH 02/33] Define codegen spec & move import to separate file --- package/src/RNCSliderNativeComponent.js | 47 ++++++++++++------------- package/src/Slider.js | 2 +- package/src/index.js | 14 ++++++++ 3 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 package/src/index.js diff --git a/package/src/RNCSliderNativeComponent.js b/package/src/RNCSliderNativeComponent.js index 632a7a6a..952a8bc0 100644 --- a/package/src/RNCSliderNativeComponent.js +++ b/package/src/RNCSliderNativeComponent.js @@ -10,50 +10,47 @@ 'use strict'; -import {requireNativeComponent} from 'react-native'; - +import type {HostComponent} from 'react-native'; import type {ColorValue} from 'react-native/Libraries/StyleSheet/StyleSheetTypes'; import type {ImageSource} from 'react-native/Libraries/Image/ImageSource'; -import type {NativeComponent} from 'react-native/Libraries/Renderer/shims/ReactNative'; -import type {SyntheticEvent} from 'react-native/Libraries/Types/CoreEventTypes'; import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; +import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; +import type { + Int32, + BubblingEventHandler, +} from 'react-native/Libraries/Types/CodegenTypes'; -type Event = SyntheticEvent< - $ReadOnly<{| - value: number, - fromUser?: boolean, - |}>, ->; +type Event = $ReadOnly<{| + value: ?Int32, + fromUser?: ?boolean, +|}>; -type NativeProps = $ReadOnly<{| +export type NativeProps = $ReadOnly<{| ...ViewProps, accessibilityUnits?: string, - accessibilityIncrements?: Array, + accessibilityIncrements?: $ReadOnlyArray, disabled?: ?boolean, enabled?: ?boolean, inverted?: ?boolean, vertical?: ?boolean, maximumTrackImage?: ?ImageSource, maximumTrackTintColor?: ?ColorValue, - maximumValue?: ?number, + maximumValue?: ?Int32, minimumTrackImage?: ?ImageSource, minimumTrackTintColor?: ?ColorValue, - minimumValue?: ?number, - onChange?: ?(event: Event) => void, - onRNCSliderSlidingStart?: ?(event: Event) => void, - onRNCSliderSlidingComplete?: ?(event: Event) => void, - onRNCSliderValueChange?: ?(event: Event) => void, - step?: ?number, + minimumValue?: ?Int32, + onChange?: ?BubblingEventHandler, + onRNCSliderSlidingStart?: ?BubblingEventHandler, + onRNCSliderSlidingComplete?: ?BubblingEventHandler, + onRNCSliderValueChange?: ?BubblingEventHandler, + step?: ?Int32, testID?: ?string, thumbImage?: ?ImageSource, thumbTintColor?: ?ColorValue, trackImage?: ?ImageSource, - value?: ?number, + value?: ?Int32, |}>; -type RNCSliderType = Class>; - -const RNCSliderNativeComponent = ((requireNativeComponent( +export default (codegenNativeComponent( 'RNCSlider', -): any): RNCSliderType); -export default RNCSliderNativeComponent; +): HostComponent); diff --git a/package/src/Slider.js b/package/src/Slider.js index 5c3274dd..fbd70f80 100644 --- a/package/src/Slider.js +++ b/package/src/Slider.js @@ -17,7 +17,7 @@ import { StyleSheet, AccessibilityActionEvent, } from 'react-native'; -import RCTSliderNativeComponent from './RNCSliderNativeComponent'; +import RCTSliderNativeComponent from './index'; import type {Ref} from 'react'; import type {NativeComponent} from 'react-native/Libraries/Renderer/shims/ReactNative'; diff --git a/package/src/index.js b/package/src/index.js new file mode 100644 index 00000000..949963e2 --- /dev/null +++ b/package/src/index.js @@ -0,0 +1,14 @@ +// @flow + +import {requireNativeComponent} from 'react-native'; +import type {NativeComponent} from 'react-native/Libraries/Renderer/shims/ReactNative'; +import type {NativeProps} from './RNCSliderNativeComponent'; +const isFabricEnabled = global.nativeFabricUIManager != null; + +type RNCSliderType = Class>; + +const RNCSlider = isFabricEnabled + ? require('./RNCSliderNativeComponent').default + : ((requireNativeComponent('RNCSlider'): any): RNCSliderType); + +export default RNCSlider; From b86cf6c11e87f33cfb95d9cb5fcf997f6a153ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 19 Jul 2022 13:24:13 +0200 Subject: [PATCH 03/33] Add codegenConfig in package.json --- example/ios/Podfile.lock | 386 +++++++++++++++++- example/ios/example.xcodeproj/project.pbxproj | 134 +++--- package/package.json | 9 + 3 files changed, 459 insertions(+), 70 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index aabfd4d2..ec729d92 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -73,6 +73,7 @@ PODS: - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) + - hermes-engine (0.69.1) - libevent (2.1.12) - OpenSSL-Universal (1.1.1100) - RCT-Folly (2021.06.28.00-v2): @@ -86,6 +87,17 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog + - RCT-Folly/Fabric (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Futures (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent - RCTRequired (0.69.1) - RCTTypeSafety (0.69.1): - FBLazyVector (= 0.69.1) @@ -114,8 +126,10 @@ PODS: - RCTRequired (= 0.69.1) - RCTTypeSafety (= 0.69.1) - React-Core (= 0.69.1) + - React-graphics (= 0.69.1) - React-jsi (= 0.69.1) - React-jsiexecutor (= 0.69.1) + - React-rncore (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - React-Core (0.69.1): - glog @@ -263,6 +277,328 @@ PODS: - React-logger (= 0.69.1) - React-perflogger (= 0.69.1) - React-runtimeexecutor (= 0.69.1) + - React-Fabric (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/animations (= 0.69.1) + - React-Fabric/attributedstring (= 0.69.1) + - React-Fabric/butter (= 0.69.1) + - React-Fabric/componentregistry (= 0.69.1) + - React-Fabric/componentregistrynative (= 0.69.1) + - React-Fabric/components (= 0.69.1) + - React-Fabric/config (= 0.69.1) + - React-Fabric/core (= 0.69.1) + - React-Fabric/debug_core (= 0.69.1) + - React-Fabric/debug_renderer (= 0.69.1) + - React-Fabric/imagemanager (= 0.69.1) + - React-Fabric/leakchecker (= 0.69.1) + - React-Fabric/mounting (= 0.69.1) + - React-Fabric/runtimescheduler (= 0.69.1) + - React-Fabric/scheduler (= 0.69.1) + - React-Fabric/telemetry (= 0.69.1) + - React-Fabric/templateprocessor (= 0.69.1) + - React-Fabric/textlayoutmanager (= 0.69.1) + - React-Fabric/uimanager (= 0.69.1) + - React-Fabric/utils (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/animations (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/attributedstring (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/butter (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/componentregistry (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/componentregistrynative (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/components/activityindicator (= 0.69.1) + - React-Fabric/components/image (= 0.69.1) + - React-Fabric/components/inputaccessory (= 0.69.1) + - React-Fabric/components/legacyviewmanagerinterop (= 0.69.1) + - React-Fabric/components/modal (= 0.69.1) + - React-Fabric/components/root (= 0.69.1) + - React-Fabric/components/safeareaview (= 0.69.1) + - React-Fabric/components/scrollview (= 0.69.1) + - React-Fabric/components/slider (= 0.69.1) + - React-Fabric/components/text (= 0.69.1) + - React-Fabric/components/textinput (= 0.69.1) + - React-Fabric/components/unimplementedview (= 0.69.1) + - React-Fabric/components/view (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/activityindicator (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/image (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/inputaccessory (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/legacyviewmanagerinterop (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/modal (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/root (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/safeareaview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/scrollview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/slider (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/text (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/textinput (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/unimplementedview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/view (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - Yoga + - React-Fabric/config (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/core (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/debug_core (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/debug_renderer (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/imagemanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - React-RCTImage (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/leakchecker (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/mounting (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/runtimescheduler (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/scheduler (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/telemetry (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/templateprocessor (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/textlayoutmanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/uimanager + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/uimanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/utils (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-graphics (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core/Default (= 0.69.1) + - React-hermes (0.69.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly/Futures (= 2021.06.28.00-v2) + - React-cxxreact (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - React-jsinspector (= 0.69.1) + - React-perflogger (= 0.69.1) - React-jsi (0.69.1): - boost (= 1.76.0) - DoubleConversion @@ -274,6 +610,11 @@ PODS: - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Fabric (0.69.1): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-jsiexecutor (0.69.1): - DoubleConversion - glog @@ -285,7 +626,13 @@ PODS: - React-logger (0.69.1): - glog - react-native-slider (4.2.4): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-RCTFabric + - ReactCommon/turbomodule/core - React-perflogger (0.69.1) - React-RCTActionSheet (0.69.1): - React-Core/RCTActionSheetHeaders (= 0.69.1) @@ -304,6 +651,11 @@ PODS: - React-jsi (= 0.69.1) - React-RCTNetwork (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) + - React-RCTFabric (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core (= 0.69.1) + - React-Fabric (= 0.69.1) + - React-RCTImage (= 0.69.1) - React-RCTImage (0.69.1): - RCT-Folly (= 2021.06.28.00-v2) - RCTTypeSafety (= 0.69.1) @@ -339,6 +691,7 @@ PODS: - React-Core/RCTVibrationHeaders (= 0.69.1) - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) + - React-rncore (0.69.1) - React-runtimeexecutor (0.69.1): - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (0.69.1): @@ -384,8 +737,11 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) + - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -397,7 +753,11 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsi/Fabric (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) @@ -406,12 +766,14 @@ DEPENDENCIES: - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -445,6 +807,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -465,6 +829,12 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -483,6 +853,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -495,6 +867,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" React-runtimeexecutor: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: @@ -507,7 +881,7 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 068141206af867f72854753423d0117c4bf53419 - FBReactNativeSpec: 546a637adc797fa436dd51d1c63c580f820de31c + FBReactNativeSpec: 035cd010765c7e1349c39649579934df6ef42fb2 Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 @@ -519,6 +893,7 @@ SPEC CHECKSUMS: FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a + hermes-engine: ece2bfa9bdb7f77f393cb2b41edf638eb086ec1a libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a @@ -527,25 +902,30 @@ SPEC CHECKSUMS: React: dbd201f781b180eab148aa961683943c72f67dcf React-bridging: 10a863fdc0fc6f9c9f8527640936b293cd288bdc React-callinvoker: 6ad32eee2630dab9023de5df2a6a8cacbfc99a67 - React-Codegen: fe3423fa6f37d05e233ab0e85e34fe0b443a5654 + React-Codegen: 08f97c143f2791d6c713dd6297f113dda471a4ec React-Core: 6177b1f2dd794fe202a5042d3678b2ddfcbfb7d4 React-CoreModules: c74e6b155f9876b1947fc8a13f0cb437cc7f6dcd React-cxxreact: a07b7d90c4c71dd38c7383c7344b34d0a1336aee + React-Fabric: b05e1713dc1120b893c2848844e072c3c5e8b29e + React-graphics: 45643376e43e65ff9aeb1edfd5a5d94226a998e7 + React-hermes: 7e3687d19af44c3c53ad6acfad4f8fa53009d11b React-jsi: d762c410d10830b7579225c78f2fd881c29649ca React-jsiexecutor: 758e70947c232828a66b5ddc42d02b4d010fa26e React-jsinspector: 55605caf04e02f9b0e05842b786f1c12dde08f4b React-logger: ca970551cb7eea2fd814d0d5f6fc1a471eb53b76 - react-native-slider: 8a61f3dfa62c859e67f545ed707e9438ada8be6c + react-native-slider: 1f274c5a64a3d1bba7678c62e81ab0f6d626da3f React-perflogger: c9161ff0f1c769993cd11d2751e4331ff4ceb7cd React-RCTActionSheet: 2d885b0bea76a5254ef852939273edd8de116180 React-RCTAnimation: 353fa4fc3c19060068832dd32e555182ec07be45 React-RCTBlob: 647da863bc7d4f169bb80463fbcdd59c4fc76e6a + React-RCTFabric: d2307c5b12482ae5d7911bf341aaa25b5d23de5a React-RCTImage: e77ee8d85f21ad5f4704e3ef67656903f45f9e76 React-RCTLinking: 3dad213f5ef5798b9491037aebe84e8ad684d4c4 React-RCTNetwork: ebbb9581d8fdc91596a4ee5e9f9ae37d5f1e13b9 React-RCTSettings: a5e7f3f1d1b38be8bf9baa89228c5af98244f9ee React-RCTText: 209576913f7eccd84425ea3f3813772f1f66e1e4 React-RCTVibration: e8b7dd6635cc95689b5db643b5a3848f1e05b30b + React-rncore: cb0378f68684034519651b7472af51c1a0321f41 React-runtimeexecutor: 27f468c5576eaf05ffb7a907528e44c75a3fcbae ReactCommon: e30ec17dfb1d4c4f3419eac254350d6abca6d5a2 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index a78db216..a0569e16 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; - 0C80B921A6F3F58F76C31292 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-example.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 7699B88040F8A987B510C191 /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-example-exampleTests.a */; }; + 6BBEC3876DB24E7EC5F666C4 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6983A68A044EB9DD95F63306 /* libPods-example.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; + 81D3FA39D5D958007A96A69C /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5115448F37E1CCE810660B01 /* libPods-example-exampleTests.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -30,19 +30,19 @@ 00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = ""; }; + 0E91EBB04FF9AC87FF15A49A /* Pods-example-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = example/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = ""; }; - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B4392A12AC88292D35C810B /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = ""; }; - 5709B34CF0A7D63546082F79 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = ""; }; - 5B7EB9410499542E8C5724F5 /* Pods-example-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.debug.xcconfig"; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3207487C8E606095CD27F4E5 /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = ""; }; + 4B5D1A917FE91365CC456D98 /* Pods-example-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.debug.xcconfig"; sourceTree = ""; }; + 5115448F37E1CCE810660B01 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6983A68A044EB9DD95F63306 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = example/LaunchScreen.storyboard; sourceTree = ""; }; - 89C6BE57DB24E9ADA2F236DE /* Pods-example-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.release.xcconfig"; sourceTree = ""; }; + 8480D051363212A5D8D2391D /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -51,7 +51,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7699B88040F8A987B510C191 /* libPods-example-exampleTests.a in Frameworks */, + 81D3FA39D5D958007A96A69C /* libPods-example-exampleTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -59,7 +59,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0C80B921A6F3F58F76C31292 /* libPods-example.a in Frameworks */, + 6BBEC3876DB24E7EC5F666C4 /* libPods-example.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -100,8 +100,8 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-example.a */, - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-example-exampleTests.a */, + 6983A68A044EB9DD95F63306 /* libPods-example.a */, + 5115448F37E1CCE810660B01 /* libPods-example-exampleTests.a */, ); name = Frameworks; sourceTree = ""; @@ -140,10 +140,10 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 3B4392A12AC88292D35C810B /* Pods-example.debug.xcconfig */, - 5709B34CF0A7D63546082F79 /* Pods-example.release.xcconfig */, - 5B7EB9410499542E8C5724F5 /* Pods-example-exampleTests.debug.xcconfig */, - 89C6BE57DB24E9ADA2F236DE /* Pods-example-exampleTests.release.xcconfig */, + 3207487C8E606095CD27F4E5 /* Pods-example.debug.xcconfig */, + 8480D051363212A5D8D2391D /* Pods-example.release.xcconfig */, + 4B5D1A917FE91365CC456D98 /* Pods-example-exampleTests.debug.xcconfig */, + 0E91EBB04FF9AC87FF15A49A /* Pods-example-exampleTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -155,12 +155,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */; buildPhases = ( - A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, + ED2E2923E032D37CF13CC324 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, + B7B12223E6640E810DCA7DCD /* [CP] Embed Pods Frameworks */, + 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -176,14 +176,14 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */; buildPhases = ( - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, + 1718781C37F9A97B10768F83 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, + 93DF3F01022418EBD806CF16 /* [CP] Embed Pods Frameworks */, + 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -266,24 +266,7 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { + 1718781C37F9A97B10768F83 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -298,53 +281,48 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; 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"; showEnvVarsInLog = 0; }; - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { + 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-example-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { + 93DF3F01022418EBD806CF16 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { + 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -361,21 +339,43 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { + B7B12223E6640E810DCA7DCD /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + ED2E2923E032D37CF13CC324 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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"; showEnvVarsInLog = 0; }; FD10A7F022414F080027D42C /* Start Packager */ = { @@ -430,7 +430,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-example-exampleTests.debug.xcconfig */; + baseConfigurationReference = 4B5D1A917FE91365CC456D98 /* Pods-example-exampleTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -457,7 +457,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-example-exampleTests.release.xcconfig */; + baseConfigurationReference = 0E91EBB04FF9AC87FF15A49A /* Pods-example-exampleTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -481,7 +481,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-example.debug.xcconfig */; + baseConfigurationReference = 3207487C8E606095CD27F4E5 /* Pods-example.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -507,7 +507,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-example.release.xcconfig */; + baseConfigurationReference = 8480D051363212A5D8D2391D /* Pods-example.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -562,7 +562,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -634,7 +634,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/package/package.json b/package/package.json index 2bef3994..4ff718e5 100644 --- a/package/package.json +++ b/package/package.json @@ -59,5 +59,14 @@ "bracketSpacing": false, "jsxBracketSameLine": true, "parser": "flow" + }, + "codegenConfig": { + "libraries": [ + { + "name": "RNCSlider", + "type": "components", + "jsSrcsDir": "src" + } + ] } } From 4f8671d8ed440c9394de66bce0d48043a08830d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Wed, 20 Jul 2022 12:42:53 +0200 Subject: [PATCH 04/33] Update podspec to detect .mm files --- package/react-native-slider.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/react-native-slider.podspec b/package/react-native-slider.podspec index 673cfb0e..6f3b7350 100644 --- a/package/react-native-slider.podspec +++ b/package/react-native-slider.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.platform = :ios, "9.0" s.source = { :git => "https://github.com/callstack/react-native-slider.git", :tag => "v#{s.version}" } - s.source_files = "ios/**/*.{h,m}" + s.source_files = "ios/**/*.{h,m,mm}" s.dependency 'React-Core' From 00d9a795d6c598ca89d711a3098c2eca4f2f42d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Wed, 20 Jul 2022 12:43:55 +0200 Subject: [PATCH 05/33] Change spec types to floats --- package/src/RNCSliderNativeComponent.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/src/RNCSliderNativeComponent.js b/package/src/RNCSliderNativeComponent.js index 952a8bc0..9448cf84 100644 --- a/package/src/RNCSliderNativeComponent.js +++ b/package/src/RNCSliderNativeComponent.js @@ -16,12 +16,12 @@ import type {ImageSource} from 'react-native/Libraries/Image/ImageSource'; import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; import type { - Int32, + Float, BubblingEventHandler, } from 'react-native/Libraries/Types/CodegenTypes'; type Event = $ReadOnly<{| - value: ?Int32, + value: ?Float, fromUser?: ?boolean, |}>; @@ -35,20 +35,20 @@ export type NativeProps = $ReadOnly<{| vertical?: ?boolean, maximumTrackImage?: ?ImageSource, maximumTrackTintColor?: ?ColorValue, - maximumValue?: ?Int32, + maximumValue?: ?Float, minimumTrackImage?: ?ImageSource, minimumTrackTintColor?: ?ColorValue, - minimumValue?: ?Int32, + minimumValue?: ?Float, onChange?: ?BubblingEventHandler, onRNCSliderSlidingStart?: ?BubblingEventHandler, onRNCSliderSlidingComplete?: ?BubblingEventHandler, onRNCSliderValueChange?: ?BubblingEventHandler, - step?: ?Int32, + step?: ?Float, testID?: ?string, thumbImage?: ?ImageSource, thumbTintColor?: ?ColorValue, trackImage?: ?ImageSource, - value?: ?Int32, + value?: ?Float, |}>; export default (codegenNativeComponent( From 1c405984debffdc6e7937edf542cec9afa59c456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Wed, 20 Jul 2022 13:51:09 +0200 Subject: [PATCH 06/33] Implement fabric component with props updating --- .../ios/RNCSlider.xcodeproj/project.pbxproj | 6 + package/ios/RNCSliderComponentView.h | 35 +++ package/ios/RNCSliderComponentView.mm | 246 ++++++++++++++++++ 3 files changed, 287 insertions(+) create mode 100644 package/ios/RNCSliderComponentView.h create mode 100644 package/ios/RNCSliderComponentView.mm diff --git a/package/ios/RNCSlider.xcodeproj/project.pbxproj b/package/ios/RNCSlider.xcodeproj/project.pbxproj index 0e625a01..0006240d 100644 --- a/package/ios/RNCSlider.xcodeproj/project.pbxproj +++ b/package/ios/RNCSlider.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 28C79A22220DC7760061DE82 /* RNCSliderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C79A1F220DC7760061DE82 /* RNCSliderManager.m */; }; 28C79A23220DC7760061DE82 /* RNCSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C79A21220DC7760061DE82 /* RNCSlider.m */; }; + 7682E5172887E3AB00642F2D /* RNCSliderComponentView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7682E5162887E3AB00642F2D /* RNCSliderComponentView.mm */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -29,6 +30,8 @@ 28C79A1F220DC7760061DE82 /* RNCSliderManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSliderManager.m; sourceTree = ""; }; 28C79A20220DC7760061DE82 /* RNCSliderManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSliderManager.h; sourceTree = ""; }; 28C79A21220DC7760061DE82 /* RNCSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSlider.m; sourceTree = ""; }; + 7682E5152887E39900642F2D /* RNCSliderComponentView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNCSliderComponentView.h; sourceTree = ""; }; + 7682E5162887E3AB00642F2D /* RNCSliderComponentView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RNCSliderComponentView.mm; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -45,6 +48,8 @@ 28C79A00220DC4CC0061DE82 = { isa = PBXGroup; children = ( + 7682E5162887E3AB00642F2D /* RNCSliderComponentView.mm */, + 7682E5152887E39900642F2D /* RNCSliderComponentView.h */, 28C79A1E220DC7760061DE82 /* RNCSlider.h */, 28C79A21220DC7760061DE82 /* RNCSlider.m */, 28C79A20220DC7760061DE82 /* RNCSliderManager.h */, @@ -117,6 +122,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7682E5172887E3AB00642F2D /* RNCSliderComponentView.mm in Sources */, 28C79A23220DC7760061DE82 /* RNCSlider.m in Sources */, 28C79A22220DC7760061DE82 /* RNCSliderManager.m in Sources */, ); diff --git a/package/ios/RNCSliderComponentView.h b/package/ios/RNCSliderComponentView.h new file mode 100644 index 00000000..6937f00b --- /dev/null +++ b/package/ios/RNCSliderComponentView.h @@ -0,0 +1,35 @@ +#ifdef RCT_NEW_ARCH_ENABLED + +#import + +#import + +#import "RNCSlider.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface RNCSliderComponentView : RCTViewComponentView + +@property (nonatomic, copy) RCTBubblingEventBlock onRNCSliderValueChange; +@property (nonatomic, copy) RCTBubblingEventBlock onRNCSliderSlidingStart; +@property (nonatomic, copy) RCTBubblingEventBlock onRNCSliderSlidingComplete; + +@property (nonatomic, assign) float step; +@property (nonatomic, assign) float lastValue; +@property (nonatomic, assign) bool isSliding; + +@property (nonatomic, strong) UIImage *trackImage; +@property (nonatomic, strong) UIImage *minimumTrackImage; +@property (nonatomic, strong) UIImage *maximumTrackImage; +@property (nonatomic, strong) UIImage *thumbImage; +@property (nonatomic, assign) bool tapToSeek; +@property (nonatomic, strong) NSString *accessibilityUnits; +@property (nonatomic, strong) NSArray *accessibilityIncrements; + +- (float) discreteValue:(float)value; + +@end + +NS_ASSUME_NONNULL_END + +#endif // RCT_NEW_ARCH_ENABLED diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm new file mode 100644 index 00000000..eb7047ef --- /dev/null +++ b/package/ios/RNCSliderComponentView.mm @@ -0,0 +1,246 @@ +#ifdef RCT_NEW_ARCH_ENABLED + +#import "RNCSliderComponentView.h" + +#import + +#import +#import +#import +#import + +#import "RCTFabricComponentsPlugins.h" +#import "RNCSlider.h" + + +using namespace facebook::react; + +@interface RNCSliderComponentView () + +@end + + +@implementation RNCSliderComponentView +{ + RNCSlider *slider; + float _unclippedValue; + bool _minimumTrackImageSet; + bool _maximumTrackImageSet; +} + ++ (ComponentDescriptorProvider)componentDescriptorProvider +{ + return concreteComponentDescriptorProvider(); +} + +- (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps +{ + const auto &oldScreenProps = *std::static_pointer_cast(_props); + const auto &newScreenProps = *std::static_pointer_cast(props); + + if (oldScreenProps.value != newScreenProps.value) { + slider.value = newScreenProps.value; + } + if (oldScreenProps.enabled != newScreenProps.enabled) { + slider.enabled = newScreenProps.enabled; + } + if (oldScreenProps.disabled != newScreenProps.disabled) { + slider.enabled = !newScreenProps.disabled; + } + if (oldScreenProps.step != newScreenProps.step) { + slider.step = newScreenProps.step; + } + if (oldScreenProps.inverted != newScreenProps.inverted) { + [self setInverted:newScreenProps.inverted]; + } + if (oldScreenProps.inverted != newScreenProps.inverted) { + [self setInverted:newScreenProps.inverted]; + } + if (oldScreenProps.maximumValue != newScreenProps.maximumValue) { + [self setMaximumValue:newScreenProps.maximumValue]; + } + if (oldScreenProps.minimumValue != newScreenProps.minimumValue) { + [self setMinimumValue:newScreenProps.minimumValue]; + } + if (oldScreenProps.thumbTintColor != newScreenProps.thumbTintColor) { + slider.thumbTintColor = RCTUIColorFromSharedColor(newScreenProps.thumbTintColor); + } + if (oldScreenProps.thumbTintColor != newScreenProps.thumbTintColor) { + slider.thumbTintColor = RCTUIColorFromSharedColor(newScreenProps.thumbTintColor); + } + if (oldScreenProps.minimumTrackTintColor != newScreenProps.minimumTrackTintColor) { + slider.minimumTrackTintColor = RCTUIColorFromSharedColor(newScreenProps.minimumTrackTintColor); + } + if (oldScreenProps.maximumTrackTintColor != newScreenProps.maximumTrackTintColor) { + slider.maximumTrackTintColor = RCTUIColorFromSharedColor(newScreenProps.maximumTrackTintColor); + } + if (oldScreenProps.accessibilityUnits != newScreenProps.accessibilityUnits) { + NSString *convertedAccessibilityUnits = [NSString stringWithCString:newScreenProps.accessibilityUnits.c_str() + encoding:[NSString defaultCStringEncoding]]; + slider.accessibilityUnits = convertedAccessibilityUnits; + } + + [super updateProps:props oldProps:oldProps]; +} + + + +- (instancetype)initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) { + static const auto defaultProps = std::make_shared(); + _props = defaultProps; + slider = [[RNCSlider alloc] initWithFrame:self.bounds]; + self.contentView = slider; + } + return self; +} + +- (void)setValue:(float)value +{ + value = [self discreteValue:value]; + _unclippedValue = value; + slider.value = value; + [self setupAccessibility:value]; +} + +- (void)setValue:(float)value animated:(BOOL)animated +{ + value = [self discreteValue:value]; + _unclippedValue = value; + [slider setValue:value animated:animated]; + [self setupAccessibility:value]; +} + +- (void)setupAccessibility:(float)value +{ + if (self.accessibilityUnits && self.accessibilityIncrements && [self.accessibilityIncrements count] - 1 == (int)slider.maximumValue) { + int index = (int)value; + NSString *sliderValue = (NSString *)[self.accessibilityIncrements objectAtIndex:index]; + NSUInteger stringLength = [self.accessibilityUnits length]; + + NSString *spokenUnits = [NSString stringWithString:self.accessibilityUnits]; + if (sliderValue && [sliderValue intValue] == 1) { + spokenUnits = [spokenUnits substringToIndex:stringLength-1]; + } + + self.accessibilityValue = [NSString stringWithFormat:@"%@ %@", sliderValue, spokenUnits]; + } +} + +- (void)setMinimumValue:(float)minimumValue +{ + slider.minimumValue = minimumValue; + slider.value = _unclippedValue; +} + +- (void)setMaximumValue:(float)maximumValue +{ + slider.maximumValue = maximumValue; + slider.value = _unclippedValue; +} + + +- (void)setTrackImage:(UIImage *)trackImage +{ + if (trackImage != _trackImage) { + _trackImage = trackImage; + CGFloat width = trackImage.size.width / 2; + if (!_minimumTrackImageSet) { + UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [slider setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; + } + if (!_maximumTrackImageSet) { + UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [slider setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; + } + } +} + +- (void)setMinimumTrackImage:(UIImage *)minimumTrackImage +{ + _trackImage = nil; + _minimumTrackImageSet = true; + minimumTrackImage = [minimumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, minimumTrackImage.size.width, 0, 0 + } resizingMode:UIImageResizingModeStretch]; + [slider setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; +} + +- (UIImage *)minimumTrackImage +{ + return [slider thumbImageForState:UIControlStateNormal]; +} + +- (void)setMaximumTrackImage:(UIImage *)maximumTrackImage +{ + _trackImage = nil; + _maximumTrackImageSet = true; + maximumTrackImage = [maximumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, 0, 0, maximumTrackImage.size.width + } resizingMode:UIImageResizingModeStretch]; + [slider setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; +} + +- (UIImage *)maximumTrackImage +{ + return [slider thumbImageForState:UIControlStateNormal]; +} + +- (void)setThumbImage:(UIImage *)thumbImage +{ + [slider setThumbImage:thumbImage forState:UIControlStateNormal]; +} + + +- (UIImage *)thumbImage +{ + return [slider thumbImageForState:UIControlStateNormal]; +} + +- (void)setInverted:(BOOL)inverted +{ + if (inverted) { + slider.transform = CGAffineTransformMakeScale(-1, 1); + } else { + slider.transform = CGAffineTransformMakeScale(1, 1); + } +} + +- (float)discreteValue:(float)value +{ + if (self.step > 0 && value >= slider.maximumValue) { + return slider.maximumValue; + } + + if (self.step > 0 && self.step <= (slider.maximumValue - slider.minimumValue)) { + double (^_round)(double) = ^(double x) { + if (!UIAccessibilityIsVoiceOverRunning()) { + return round(x); + } else if (self.lastValue > value) { + return floor(x); + } else { + return ceil(x); + } + }; + + return MAX(slider.minimumValue, + MIN(slider.maximumValue, slider.minimumValue + _round((value - slider.minimumValue) / self.step) * self.step) + ); + } + + return value; +} + +@end + +Class RNCSliderCls(void) +{ + return RNCSliderComponentView.class; +} + +#endif // RCT_NEW_ARCH_ENABLED From c7a4e23f5066965fc99162c0559704e022b9e852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Wed, 20 Jul 2022 14:40:02 +0200 Subject: [PATCH 07/33] Re-order functions, add accessibilityIncrements prop --- package/ios/RNCSliderComponentView.mm | 35 ++++++++++++++++----------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index eb7047ef..2c5c93b1 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -33,6 +33,18 @@ + (ComponentDescriptorProvider)componentDescriptorProvider return concreteComponentDescriptorProvider(); } +- (instancetype)initWithFrame:(CGRect)frame +{ + if (self = [super initWithFrame:frame]) { + static const auto defaultProps = std::make_shared(); + _props = defaultProps; + slider = [[RNCSlider alloc] initWithFrame:self.bounds]; + self.contentView = slider; + } + return self; +} + + - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps { const auto &oldScreenProps = *std::static_pointer_cast(_props); @@ -76,26 +88,21 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & } if (oldScreenProps.accessibilityUnits != newScreenProps.accessibilityUnits) { NSString *convertedAccessibilityUnits = [NSString stringWithCString:newScreenProps.accessibilityUnits.c_str() - encoding:[NSString defaultCStringEncoding]]; + encoding:[NSString defaultCStringEncoding]]; slider.accessibilityUnits = convertedAccessibilityUnits; } - + if (oldScreenProps.accessibilityIncrements != newScreenProps.accessibilityIncrements) { + id accessibilityIncrements = [NSArray new]; + for (auto str : newScreenProps.accessibilityIncrements) { + id nsstr = [NSString stringWithUTF8String:str.c_str()]; + [accessibilityIncrements addObject:nsstr]; + } + [self setAccessibilityIncrements:accessibilityIncrements]; + } [super updateProps:props oldProps:oldProps]; } - -- (instancetype)initWithFrame:(CGRect)frame -{ - if (self = [super initWithFrame:frame]) { - static const auto defaultProps = std::make_shared(); - _props = defaultProps; - slider = [[RNCSlider alloc] initWithFrame:self.bounds]; - self.contentView = slider; - } - return self; -} - - (void)setValue:(float)value { value = [self discreteValue:value]; From 8dfb795de2e677a6644db38befea6fd19367a812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 10:29:03 +0200 Subject: [PATCH 08/33] Clean up imports, remove comment --- package/ios/RNCSliderComponentView.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package/ios/RNCSliderComponentView.h b/package/ios/RNCSliderComponentView.h index 6937f00b..8e00acb7 100644 --- a/package/ios/RNCSliderComponentView.h +++ b/package/ios/RNCSliderComponentView.h @@ -1,9 +1,7 @@ #ifdef RCT_NEW_ARCH_ENABLED #import - #import - #import "RNCSlider.h" NS_ASSUME_NONNULL_BEGIN @@ -32,4 +30,4 @@ NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END -#endif // RCT_NEW_ARCH_ENABLED +#endif From 8946e5178022b4da6608402a8162d19da1e1c5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 10:32:48 +0200 Subject: [PATCH 09/33] Sort out props updating, remove unused functions --- package/ios/RNCSliderComponentView.mm | 162 ++------------------------ 1 file changed, 10 insertions(+), 152 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index 2c5c93b1..fd46c986 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -53,9 +53,6 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & if (oldScreenProps.value != newScreenProps.value) { slider.value = newScreenProps.value; } - if (oldScreenProps.enabled != newScreenProps.enabled) { - slider.enabled = newScreenProps.enabled; - } if (oldScreenProps.disabled != newScreenProps.disabled) { slider.enabled = !newScreenProps.disabled; } @@ -65,17 +62,11 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & if (oldScreenProps.inverted != newScreenProps.inverted) { [self setInverted:newScreenProps.inverted]; } - if (oldScreenProps.inverted != newScreenProps.inverted) { - [self setInverted:newScreenProps.inverted]; - } if (oldScreenProps.maximumValue != newScreenProps.maximumValue) { - [self setMaximumValue:newScreenProps.maximumValue]; + [slider setMaximumValue:newScreenProps.maximumValue]; } if (oldScreenProps.minimumValue != newScreenProps.minimumValue) { - [self setMinimumValue:newScreenProps.minimumValue]; - } - if (oldScreenProps.thumbTintColor != newScreenProps.thumbTintColor) { - slider.thumbTintColor = RCTUIColorFromSharedColor(newScreenProps.thumbTintColor); + [slider setMinimumValue:newScreenProps.minimumValue]; } if (oldScreenProps.thumbTintColor != newScreenProps.thumbTintColor) { slider.thumbTintColor = RCTUIColorFromSharedColor(newScreenProps.thumbTintColor); @@ -94,153 +85,20 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & if (oldScreenProps.accessibilityIncrements != newScreenProps.accessibilityIncrements) { id accessibilityIncrements = [NSArray new]; for (auto str : newScreenProps.accessibilityIncrements) { - id nsstr = [NSString stringWithUTF8String:str.c_str()]; - [accessibilityIncrements addObject:nsstr]; + [accessibilityIncrements addObject:[NSString stringWithUTF8String:str.c_str()]]; } - [self setAccessibilityIncrements:accessibilityIncrements]; + [slider setAccessibilityIncrements:accessibilityIncrements]; } [super updateProps:props oldProps:oldProps]; } - -- (void)setValue:(float)value -{ - value = [self discreteValue:value]; - _unclippedValue = value; - slider.value = value; - [self setupAccessibility:value]; -} - -- (void)setValue:(float)value animated:(BOOL)animated -{ - value = [self discreteValue:value]; - _unclippedValue = value; - [slider setValue:value animated:animated]; - [self setupAccessibility:value]; -} - -- (void)setupAccessibility:(float)value -{ - if (self.accessibilityUnits && self.accessibilityIncrements && [self.accessibilityIncrements count] - 1 == (int)slider.maximumValue) { - int index = (int)value; - NSString *sliderValue = (NSString *)[self.accessibilityIncrements objectAtIndex:index]; - NSUInteger stringLength = [self.accessibilityUnits length]; - - NSString *spokenUnits = [NSString stringWithString:self.accessibilityUnits]; - if (sliderValue && [sliderValue intValue] == 1) { - spokenUnits = [spokenUnits substringToIndex:stringLength-1]; - } - - self.accessibilityValue = [NSString stringWithFormat:@"%@ %@", sliderValue, spokenUnits]; - } -} - -- (void)setMinimumValue:(float)minimumValue -{ - slider.minimumValue = minimumValue; - slider.value = _unclippedValue; -} - -- (void)setMaximumValue:(float)maximumValue -{ - slider.maximumValue = maximumValue; - slider.value = _unclippedValue; -} - - -- (void)setTrackImage:(UIImage *)trackImage -{ - if (trackImage != _trackImage) { - _trackImage = trackImage; - CGFloat width = trackImage.size.width / 2; - if (!_minimumTrackImageSet) { - UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - [slider setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; - } - if (!_maximumTrackImageSet) { - UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - [slider setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; - } - } -} - -- (void)setMinimumTrackImage:(UIImage *)minimumTrackImage -{ - _trackImage = nil; - _minimumTrackImageSet = true; - minimumTrackImage = [minimumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, minimumTrackImage.size.width, 0, 0 - } resizingMode:UIImageResizingModeStretch]; - [slider setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; -} - -- (UIImage *)minimumTrackImage -{ - return [slider thumbImageForState:UIControlStateNormal]; -} - -- (void)setMaximumTrackImage:(UIImage *)maximumTrackImage -{ - _trackImage = nil; - _maximumTrackImageSet = true; - maximumTrackImage = [maximumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, 0, 0, maximumTrackImage.size.width - } resizingMode:UIImageResizingModeStretch]; - [slider setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; -} - -- (UIImage *)maximumTrackImage -{ - return [slider thumbImageForState:UIControlStateNormal]; -} - -- (void)setThumbImage:(UIImage *)thumbImage -{ - [slider setThumbImage:thumbImage forState:UIControlStateNormal]; -} - - -- (UIImage *)thumbImage -{ - return [slider thumbImageForState:UIControlStateNormal]; -} - - (void)setInverted:(BOOL)inverted { - if (inverted) { - slider.transform = CGAffineTransformMakeScale(-1, 1); - } else { - slider.transform = CGAffineTransformMakeScale(1, 1); - } -} - -- (float)discreteValue:(float)value -{ - if (self.step > 0 && value >= slider.maximumValue) { - return slider.maximumValue; - } - - if (self.step > 0 && self.step <= (slider.maximumValue - slider.minimumValue)) { - double (^_round)(double) = ^(double x) { - if (!UIAccessibilityIsVoiceOverRunning()) { - return round(x); - } else if (self.lastValue > value) { - return floor(x); - } else { - return ceil(x); - } - }; - - return MAX(slider.minimumValue, - MIN(slider.maximumValue, slider.minimumValue + _round((value - slider.minimumValue) / self.step) * self.step) - ); - } - - return value; + if (inverted) { + self.transform = CGAffineTransformMakeScale(-1, 1); + } else { + self.transform = CGAffineTransformMakeScale(1, 1); + } } @end @@ -250,4 +108,4 @@ - (float)discreteValue:(float)value return RNCSliderComponentView.class; } -#endif // RCT_NEW_ARCH_ENABLED +#endif From 5e6f34865a8cdaa56f65f61e5ef86fef4c6f30d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 11:54:56 +0200 Subject: [PATCH 10/33] Add event handling --- package/ios/RNCSliderComponentView.mm | 63 ++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index fd46c986..f237cb55 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -39,11 +39,64 @@ - (instancetype)initWithFrame:(CGRect)frame static const auto defaultProps = std::make_shared(); _props = defaultProps; slider = [[RNCSlider alloc] initWithFrame:self.bounds]; + [slider addTarget:self action:@selector(sliderValueChanged:) + forControlEvents:UIControlEventValueChanged]; + [slider addTarget:self action:@selector(sliderTouchStart:) + forControlEvents:UIControlEventTouchDown]; + [slider addTarget:self action:@selector(sliderTouchEnd:) + forControlEvents:(UIControlEventTouchUpInside | + UIControlEventTouchUpOutside | + UIControlEventTouchCancel)]; + + slider.value = (float)defaultProps->value; self.contentView = slider; } return self; } +- (void)sliderValueChanged:(RNCSlider *)sender +{ + [self RNCSendSliderEvent:sender withContinuous:YES isSlidingStart:NO]; +} + +- (void)sliderTouchStart:(RNCSlider *)sender +{ + [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:YES]; + sender.isSliding = YES; +} + +- (void)sliderTouchEnd:(RNCSlider *)sender +{ + [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:NO]; + sender.isSliding = YES; +} + +- (void)RNCSendSliderEvent:(RNCSlider *)sender withContinuous:(BOOL)continuous isSlidingStart:(BOOL)isSlidingStart +{ + float value = [sender discreteValue:sender.value]; + + if(!sender.isSliding) { + [sender setValue:value animated:NO]; + } + + if (continuous) { + if (sender.lastValue != value) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); + } + } else { + if (!isSlidingStart) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); + } + if (isSlidingStart) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); + } + } + + sender.lastValue = value; +} - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &)oldProps { @@ -94,11 +147,11 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & - (void)setInverted:(BOOL)inverted { - if (inverted) { - self.transform = CGAffineTransformMakeScale(-1, 1); - } else { - self.transform = CGAffineTransformMakeScale(1, 1); - } + if (inverted) { + self.transform = CGAffineTransformMakeScale(-1, 1); + } else { + self.transform = CGAffineTransformMakeScale(1, 1); + } } @end From c93b119b7539330e89802460c98065e00a556785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 15:18:00 +0200 Subject: [PATCH 11/33] Add tapToSeek implementation --- package/ios/RNCSliderComponentView.mm | 49 +++++++++++++++++++++++++ package/src/RNCSliderNativeComponent.js | 1 + 2 files changed, 50 insertions(+) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index f237cb55..9cbee60e 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -48,12 +48,58 @@ - (instancetype)initWithFrame:(CGRect)frame UIControlEventTouchUpOutside | UIControlEventTouchCancel)]; + UITapGestureRecognizer *tapGesturer; + tapGesturer = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(tapHandler:)]; + [tapGesturer setNumberOfTapsRequired: 1]; + [slider addGestureRecognizer:tapGesturer]; + slider.value = (float)defaultProps->value; self.contentView = slider; } return self; } +- (void)tapHandler:(UITapGestureRecognizer *)gesture { + if ([gesture.view class] != [RNCSlider class]) { + return; + } + RNCSlider *slider = (RNCSlider *)gesture.view; + slider.isSliding = _isSliding; + + // Ignore this tap if in the middle of a slide. + if (_isSliding) { + return; + } + + if (!slider.tapToSeek) { + return; + } + + CGPoint touchPoint = [gesture locationInView:slider]; + float rangeWidth = slider.maximumValue - slider.minimumValue; + float sliderPercent = touchPoint.x / slider.bounds.size.width; + slider.lastValue = slider.value; + float value = slider.minimumValue + (rangeWidth * sliderPercent); + + [slider setValue:[slider discreteValue:value] animated: YES]; + + if (slider.onRNCSliderValueChange) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); + } + + // Trigger onValueChange to address https://github.com/react-native-community/react-native-slider/issues/212 + if (slider.onRNCSliderValueChange) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); + } + + if (slider.onRNCSliderSlidingComplete) { + std::dynamic_pointer_cast(_eventEmitter) + ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); + } +} + - (void)sliderValueChanged:(RNCSlider *)sender { [self RNCSendSliderEvent:sender withContinuous:YES isSlidingStart:NO]; @@ -118,6 +164,9 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & if (oldScreenProps.maximumValue != newScreenProps.maximumValue) { [slider setMaximumValue:newScreenProps.maximumValue]; } + if (oldScreenProps.tapToSeek != newScreenProps.tapToSeek) { + slider.tapToSeek = newScreenProps.tapToSeek; + } if (oldScreenProps.minimumValue != newScreenProps.minimumValue) { [slider setMinimumValue:newScreenProps.minimumValue]; } diff --git a/package/src/RNCSliderNativeComponent.js b/package/src/RNCSliderNativeComponent.js index 9448cf84..5551e788 100644 --- a/package/src/RNCSliderNativeComponent.js +++ b/package/src/RNCSliderNativeComponent.js @@ -33,6 +33,7 @@ export type NativeProps = $ReadOnly<{| enabled?: ?boolean, inverted?: ?boolean, vertical?: ?boolean, + tapToSeek?: ?boolean, maximumTrackImage?: ?ImageSource, maximumTrackTintColor?: ?ColorValue, maximumValue?: ?Float, From 1ae3f1d4b34f7f64376349f255b0b0a5d091ded6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 16:56:11 +0200 Subject: [PATCH 12/33] Fix tapToSeek --- package/ios/RNCSliderComponentView.mm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index 9cbee60e..69ae93f8 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -23,9 +23,7 @@ @interface RNCSliderComponentView () @implementation RNCSliderComponentView { RNCSlider *slider; - float _unclippedValue; - bool _minimumTrackImageSet; - bool _maximumTrackImageSet; + BOOL _isSliding; } + (ComponentDescriptorProvider)componentDescriptorProvider @@ -83,21 +81,15 @@ - (void)tapHandler:(UITapGestureRecognizer *)gesture { [slider setValue:[slider discreteValue:value] animated: YES]; - if (slider.onRNCSliderValueChange) { std::dynamic_pointer_cast(_eventEmitter) ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); - } // Trigger onValueChange to address https://github.com/react-native-community/react-native-slider/issues/212 - if (slider.onRNCSliderValueChange) { std::dynamic_pointer_cast(_eventEmitter) ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); - } - if (slider.onRNCSliderSlidingComplete) { std::dynamic_pointer_cast(_eventEmitter) ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); - } } - (void)sliderValueChanged:(RNCSlider *)sender @@ -109,12 +101,14 @@ - (void)sliderTouchStart:(RNCSlider *)sender { [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:YES]; sender.isSliding = YES; + _isSliding = YES; } - (void)sliderTouchEnd:(RNCSlider *)sender { [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:NO]; sender.isSliding = YES; + _isSliding = NO; } - (void)RNCSendSliderEvent:(RNCSlider *)sender withContinuous:(BOOL)continuous isSlidingStart:(BOOL)isSlidingStart From 3ab0013fb69ceff1736a0faf565f7d43e3411aa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 21 Jul 2022 16:59:24 +0200 Subject: [PATCH 13/33] Handle images using bridge --- package/ios/RNCSliderComponentView.mm | 101 ++++++++++++++++++-------- 1 file changed, 71 insertions(+), 30 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index 69ae93f8..5795e439 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -8,7 +8,9 @@ #import #import #import - +#import +#import "RCTImagePrimitivesConversions.h" +#import #import "RCTFabricComponentsPlugins.h" #import "RNCSlider.h" @@ -23,6 +25,7 @@ @interface RNCSliderComponentView () @implementation RNCSliderComponentView { RNCSlider *slider; + UIImage *_image; BOOL _isSliding; } @@ -58,38 +61,38 @@ - (instancetype)initWithFrame:(CGRect)frame } - (void)tapHandler:(UITapGestureRecognizer *)gesture { - if ([gesture.view class] != [RNCSlider class]) { - return; - } - RNCSlider *slider = (RNCSlider *)gesture.view; - slider.isSliding = _isSliding; - - // Ignore this tap if in the middle of a slide. - if (_isSliding) { - return; - } - - if (!slider.tapToSeek) { - return; - } - - CGPoint touchPoint = [gesture locationInView:slider]; - float rangeWidth = slider.maximumValue - slider.minimumValue; - float sliderPercent = touchPoint.x / slider.bounds.size.width; - slider.lastValue = slider.value; - float value = slider.minimumValue + (rangeWidth * sliderPercent); - - [slider setValue:[slider discreteValue:value] animated: YES]; - + if ([gesture.view class] != [RNCSlider class]) { + return; + } + RNCSlider *slider = (RNCSlider *)gesture.view; + slider.isSliding = _isSliding; + + // Ignore this tap if in the middle of a slide. + if (_isSliding) { + return; + } + + if (!slider.tapToSeek) { + return; + } + + CGPoint touchPoint = [gesture locationInView:slider]; + float rangeWidth = slider.maximumValue - slider.minimumValue; + float sliderPercent = touchPoint.x / slider.bounds.size.width; + slider.lastValue = slider.value; + float value = slider.minimumValue + (rangeWidth * sliderPercent); + + [slider setValue:[slider discreteValue:value] animated: YES]; + std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); - - // Trigger onValueChange to address https://github.com/react-native-community/react-native-slider/issues/212 + ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); + + // Trigger onValueChange to address https://github.com/react-native-community/react-native-slider/issues/212 std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); - + ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); + std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); + ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); } - (void)sliderValueChanged:(RNCSlider *)sender @@ -185,9 +188,47 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & } [slider setAccessibilityIncrements:accessibilityIncrements]; } + if (oldScreenProps.thumbImage != newScreenProps.thumbImage) { + [self loadImageFromImageSource:newScreenProps.thumbImage completionBlock:^(NSError *error, UIImage *image) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->slider setThumbImage:image]; + }); + }]; + } + if (oldScreenProps.trackImage != newScreenProps.trackImage) { + [self loadImageFromImageSource:newScreenProps.trackImage completionBlock:^(NSError *error, UIImage *image) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->slider setTrackImage:image]; + }); + }]; + } + if (oldScreenProps.minimumTrackImage != newScreenProps.minimumTrackImage) { + [self loadImageFromImageSource:newScreenProps.minimumTrackImage completionBlock:^(NSError *error, UIImage *image) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->slider setMinimumTrackImage:image]; + }); + }]; + } + if (oldScreenProps.maximumTrackImage != newScreenProps.maximumTrackImage) { + [self loadImageFromImageSource:newScreenProps.maximumTrackImage completionBlock:^(NSError *error, UIImage *image) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->slider setMaximumTrackImage:image]; + }); + }]; + } [super updateProps:props oldProps:oldProps]; } + +// TODO temporarily using bridge, workaround for https://github.com/reactwg/react-native-new-architecture/discussions/31#discussioncomment-2717047, rewrite when Meta comes with a solution. +- (void)loadImageFromImageSource:(ImageSource)source completionBlock:(RNCLoadImageCompletionBlock)completionBlock +{ + NSString *uri = [[NSString alloc] initWithUTF8String:source.uri.c_str()]; + if ((BOOL)uri.length) { + [[[RCTBridge currentBridge] moduleForName:@"ImageLoader"] loadImageWithURLRequest:NSURLRequestFromImageSource(source) size:CGSizeMake(source.size.width, source.size.height) scale:source.scale clipped:NO resizeMode:RCTResizeModeCover progressBlock:nil partialLoadBlock:nil completionBlock:completionBlock]; + } +} + - (void)setInverted:(BOOL)inverted { if (inverted) { From 8195867226163ee8d74d5d2f0b2fcb8c4382af6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Fri, 22 Jul 2022 16:26:12 +0200 Subject: [PATCH 14/33] Add missing typedef --- example/ios/Podfile.lock | 2 +- package/ios/RNCSliderComponentView.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index ec729d92..7a3f128b 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -913,7 +913,7 @@ SPEC CHECKSUMS: React-jsiexecutor: 758e70947c232828a66b5ddc42d02b4d010fa26e React-jsinspector: 55605caf04e02f9b0e05842b786f1c12dde08f4b React-logger: ca970551cb7eea2fd814d0d5f6fc1a471eb53b76 - react-native-slider: 1f274c5a64a3d1bba7678c62e81ab0f6d626da3f + react-native-slider: 38a126de18fba442061714a15a9ca81e1cd3c886 React-perflogger: c9161ff0f1c769993cd11d2751e4331ff4ceb7cd React-RCTActionSheet: 2d885b0bea76a5254ef852939273edd8de116180 React-RCTAnimation: 353fa4fc3c19060068832dd32e555182ec07be45 diff --git a/package/ios/RNCSliderComponentView.h b/package/ios/RNCSliderComponentView.h index 8e00acb7..ea688004 100644 --- a/package/ios/RNCSliderComponentView.h +++ b/package/ios/RNCSliderComponentView.h @@ -6,6 +6,8 @@ NS_ASSUME_NONNULL_BEGIN +typedef void (^RNCLoadImageCompletionBlock)(NSError * _Nullable error, UIImage * _Nullable image); + @interface RNCSliderComponentView : RCTViewComponentView @property (nonatomic, copy) RCTBubblingEventBlock onRNCSliderValueChange; From e647c952bfd6c57abc980ca51cb5f5e538b461e2 Mon Sep 17 00:00:00 2001 From: BartoszKlonowski Date: Tue, 26 Jul 2022 00:51:32 +0200 Subject: [PATCH 15/33] Verify the build for new arch with GH Actions --- .github/workflows/ReactNativeSlider-CI.yml | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 97b589b1..dac2448f 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -130,6 +130,45 @@ jobs: run: cd example && npx react-native run-ios + build-iOS-new-arch-app: + name: Verify if app builds for new architecture + runs-on: macos-latest + needs: [build-iOS-app] + steps: + - uses: actions/checkout@v3 + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cached-ios-deps + with: + path: | + example/node_modules + example/ios/Pods + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} + + - name: Install required dependencies on cache miss + if: steps.cache-npm.outputs.cache-hit != 'true' + run: | + npm install + cd example/ios && pod install --verbose + + - name: Use the current package sources in build + run: cd example && npm run refresh-package + + - name: Install pods with new arch enabled + run: RCT_NEW_ARCH_ENABLED=1 pod install + + - name: Opening Simulator app + uses: futureware-tech/simulator-action@v1 + with: + model: 'iPhone 12 mini' + + - name: Builds the iOS app + run: cd example && npx react-native run-ios + + build-Windows-app: name: Verify the package and example app builds for Windows platform runs-on: windows-latest From bc90c7732f2211bf8a525f524f0399ab85f6273c Mon Sep 17 00:00:00 2001 From: BartoszKlonowski Date: Tue, 26 Jul 2022 02:33:06 +0200 Subject: [PATCH 16/33] Save new-arch Pods under new-arch cache key --- .github/workflows/ReactNativeSlider-CI.yml | 47 ++-------------------- 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index dac2448f..b1963791 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -94,46 +94,10 @@ jobs: run: cd example/android && ./gradlew assembleDebug - build-iOS-app: - name: Verify the package and example app builds for iOS platform - runs-on: macos-latest - needs: [verify] - steps: - - uses: actions/checkout@v3 - - - name: Cache node modules - id: cache-npm - uses: actions/cache@v3 - env: - cache-name: cached-ios-deps - with: - path: | - example/node_modules - example/ios/Pods - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} - - - name: Install required dependencies on cache miss - if: steps.cache-npm.outputs.cache-hit != 'true' - run: | - npm install - cd example/ios && pod install --verbose - - - name: Use the current package sources in build - run: cd example && npm run refresh-package - - - name: Opening Simulator app - uses: futureware-tech/simulator-action@v1 - with: - model: 'iPhone 12 mini' - - - name: Builds the iOS app - run: cd example && npx react-native run-ios - - build-iOS-new-arch-app: name: Verify if app builds for new architecture runs-on: macos-latest - needs: [build-iOS-app] + needs: [verify] steps: - uses: actions/checkout@v3 @@ -141,25 +105,22 @@ jobs: id: cache-npm uses: actions/cache@v3 env: - cache-name: cached-ios-deps + cache-name: cached-ios-new-arch-deps with: path: | example/node_modules example/ios/Pods - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} + key: new-arch-${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} - name: Install required dependencies on cache miss if: steps.cache-npm.outputs.cache-hit != 'true' run: | npm install - cd example/ios && pod install --verbose + cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install - name: Use the current package sources in build run: cd example && npm run refresh-package - - name: Install pods with new arch enabled - run: RCT_NEW_ARCH_ENABLED=1 pod install - - name: Opening Simulator app uses: futureware-tech/simulator-action@v1 with: From e8b2a6ca874ac0e7ef6fbacb62daf11cdfe9b216 Mon Sep 17 00:00:00 2001 From: BartoszKlonowski Date: Tue, 26 Jul 2022 03:32:40 +0200 Subject: [PATCH 17/33] Use Podfile.lock with old arch and regenerate for new one --- .github/workflows/ReactNativeSlider-CI.yml | 43 +- example/ios/Podfile.lock | 386 +----------------- example/ios/example.xcodeproj/project.pbxproj | 4 +- 3 files changed, 46 insertions(+), 387 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index b1963791..5e577bc7 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -94,10 +94,46 @@ jobs: run: cd example/android && ./gradlew assembleDebug + build-iOS-app: + name: Verify the package and example app builds for iOS platform + runs-on: macos-latest + needs: [verify] + steps: + - uses: actions/checkout@v3 + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cached-ios-deps + with: + path: | + example/node_modules + example/ios/Pods + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} + + - name: Install required dependencies on cache miss + if: steps.cache-npm.outputs.cache-hit != 'true' + run: | + npm install + cd example/ios && pod install --verbose + + - name: Use the current package sources in build + run: cd example && npm run refresh-package + + - name: Opening Simulator app + uses: futureware-tech/simulator-action@v1 + with: + model: 'iPhone 12 mini' + + - name: Builds the iOS app + run: cd example && npx react-native run-ios + + build-iOS-new-arch-app: name: Verify if app builds for new architecture runs-on: macos-latest - needs: [verify] + needs: [build-iOS-app] steps: - uses: actions/checkout@v3 @@ -110,7 +146,7 @@ jobs: path: | example/node_modules example/ios/Pods - key: new-arch-${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} + key: new-arch-${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - name: Install required dependencies on cache miss if: steps.cache-npm.outputs.cache-hit != 'true' @@ -121,6 +157,9 @@ jobs: - name: Use the current package sources in build run: cd example && npm run refresh-package + - name: Install pods with new arch enabled + run: RCT_NEW_ARCH_ENABLED=1 pod install + - name: Opening Simulator app uses: futureware-tech/simulator-action@v1 with: diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 7a3f128b..6bf6f31d 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -73,7 +73,6 @@ PODS: - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (0.69.1) - libevent (2.1.12) - OpenSSL-Universal (1.1.1100) - RCT-Folly (2021.06.28.00-v2): @@ -87,17 +86,6 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Fabric (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCT-Folly/Futures (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - RCTRequired (0.69.1) - RCTTypeSafety (0.69.1): - FBLazyVector (= 0.69.1) @@ -126,10 +114,8 @@ PODS: - RCTRequired (= 0.69.1) - RCTTypeSafety (= 0.69.1) - React-Core (= 0.69.1) - - React-graphics (= 0.69.1) - React-jsi (= 0.69.1) - React-jsiexecutor (= 0.69.1) - - React-rncore (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - React-Core (0.69.1): - glog @@ -277,328 +263,6 @@ PODS: - React-logger (= 0.69.1) - React-perflogger (= 0.69.1) - React-runtimeexecutor (= 0.69.1) - - React-Fabric (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/animations (= 0.69.1) - - React-Fabric/attributedstring (= 0.69.1) - - React-Fabric/butter (= 0.69.1) - - React-Fabric/componentregistry (= 0.69.1) - - React-Fabric/componentregistrynative (= 0.69.1) - - React-Fabric/components (= 0.69.1) - - React-Fabric/config (= 0.69.1) - - React-Fabric/core (= 0.69.1) - - React-Fabric/debug_core (= 0.69.1) - - React-Fabric/debug_renderer (= 0.69.1) - - React-Fabric/imagemanager (= 0.69.1) - - React-Fabric/leakchecker (= 0.69.1) - - React-Fabric/mounting (= 0.69.1) - - React-Fabric/runtimescheduler (= 0.69.1) - - React-Fabric/scheduler (= 0.69.1) - - React-Fabric/telemetry (= 0.69.1) - - React-Fabric/templateprocessor (= 0.69.1) - - React-Fabric/textlayoutmanager (= 0.69.1) - - React-Fabric/uimanager (= 0.69.1) - - React-Fabric/utils (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/animations (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/attributedstring (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/butter (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/componentregistry (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/componentregistrynative (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/components/activityindicator (= 0.69.1) - - React-Fabric/components/image (= 0.69.1) - - React-Fabric/components/inputaccessory (= 0.69.1) - - React-Fabric/components/legacyviewmanagerinterop (= 0.69.1) - - React-Fabric/components/modal (= 0.69.1) - - React-Fabric/components/root (= 0.69.1) - - React-Fabric/components/safeareaview (= 0.69.1) - - React-Fabric/components/scrollview (= 0.69.1) - - React-Fabric/components/slider (= 0.69.1) - - React-Fabric/components/text (= 0.69.1) - - React-Fabric/components/textinput (= 0.69.1) - - React-Fabric/components/unimplementedview (= 0.69.1) - - React-Fabric/components/view (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/activityindicator (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/image (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/inputaccessory (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/legacyviewmanagerinterop (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/modal (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/root (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/safeareaview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/scrollview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/slider (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/text (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/textinput (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/unimplementedview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/view (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - Yoga - - React-Fabric/config (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/core (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/debug_core (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/debug_renderer (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/imagemanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - React-RCTImage (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/leakchecker (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/mounting (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/runtimescheduler (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/scheduler (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/telemetry (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/templateprocessor (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/textlayoutmanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/uimanager - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/uimanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/utils (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-graphics (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.1) - - React-hermes (0.69.1): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.06.28.00-v2) - - RCT-Folly/Futures (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - React-jsinspector (= 0.69.1) - - React-perflogger (= 0.69.1) - React-jsi (0.69.1): - boost (= 1.76.0) - DoubleConversion @@ -610,11 +274,6 @@ PODS: - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Fabric (0.69.1): - - boost (= 1.76.0) - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - React-jsiexecutor (0.69.1): - DoubleConversion - glog @@ -626,13 +285,7 @@ PODS: - React-logger (0.69.1): - glog - react-native-slider (4.2.4): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired - - RCTTypeSafety - - React-Codegen - React-Core - - React-RCTFabric - - ReactCommon/turbomodule/core - React-perflogger (0.69.1) - React-RCTActionSheet (0.69.1): - React-Core/RCTActionSheetHeaders (= 0.69.1) @@ -651,11 +304,6 @@ PODS: - React-jsi (= 0.69.1) - React-RCTNetwork (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - - React-RCTFabric (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core (= 0.69.1) - - React-Fabric (= 0.69.1) - - React-RCTImage (= 0.69.1) - React-RCTImage (0.69.1): - RCT-Folly (= 2021.06.28.00-v2) - RCTTypeSafety (= 0.69.1) @@ -691,7 +339,6 @@ PODS: - React-Core/RCTVibrationHeaders (= 0.69.1) - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - - React-rncore (0.69.1) - React-runtimeexecutor (0.69.1): - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (0.69.1): @@ -737,11 +384,8 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -753,11 +397,7 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsi/Fabric (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) @@ -766,14 +406,12 @@ DEPENDENCIES: - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -807,8 +445,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -829,12 +465,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" - React-Fabric: - :path: "../node_modules/react-native/ReactCommon" - React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -853,8 +483,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" - React-RCTFabric: - :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -867,8 +495,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" - React-rncore: - :path: "../node_modules/react-native/ReactCommon" React-runtimeexecutor: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: @@ -881,7 +507,7 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 068141206af867f72854753423d0117c4bf53419 - FBReactNativeSpec: 035cd010765c7e1349c39649579934df6ef42fb2 + FBReactNativeSpec: 546a637adc797fa436dd51d1c63c580f820de31c Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 @@ -893,7 +519,6 @@ SPEC CHECKSUMS: FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a - hermes-engine: ece2bfa9bdb7f77f393cb2b41edf638eb086ec1a libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a @@ -902,30 +527,25 @@ SPEC CHECKSUMS: React: dbd201f781b180eab148aa961683943c72f67dcf React-bridging: 10a863fdc0fc6f9c9f8527640936b293cd288bdc React-callinvoker: 6ad32eee2630dab9023de5df2a6a8cacbfc99a67 - React-Codegen: 08f97c143f2791d6c713dd6297f113dda471a4ec + React-Codegen: fe3423fa6f37d05e233ab0e85e34fe0b443a5654 React-Core: 6177b1f2dd794fe202a5042d3678b2ddfcbfb7d4 React-CoreModules: c74e6b155f9876b1947fc8a13f0cb437cc7f6dcd React-cxxreact: a07b7d90c4c71dd38c7383c7344b34d0a1336aee - React-Fabric: b05e1713dc1120b893c2848844e072c3c5e8b29e - React-graphics: 45643376e43e65ff9aeb1edfd5a5d94226a998e7 - React-hermes: 7e3687d19af44c3c53ad6acfad4f8fa53009d11b React-jsi: d762c410d10830b7579225c78f2fd881c29649ca React-jsiexecutor: 758e70947c232828a66b5ddc42d02b4d010fa26e React-jsinspector: 55605caf04e02f9b0e05842b786f1c12dde08f4b React-logger: ca970551cb7eea2fd814d0d5f6fc1a471eb53b76 - react-native-slider: 38a126de18fba442061714a15a9ca81e1cd3c886 + react-native-slider: 541c8579b23211cc985ac44023dd0f0d46c9f497 React-perflogger: c9161ff0f1c769993cd11d2751e4331ff4ceb7cd React-RCTActionSheet: 2d885b0bea76a5254ef852939273edd8de116180 React-RCTAnimation: 353fa4fc3c19060068832dd32e555182ec07be45 React-RCTBlob: 647da863bc7d4f169bb80463fbcdd59c4fc76e6a - React-RCTFabric: d2307c5b12482ae5d7911bf341aaa25b5d23de5a React-RCTImage: e77ee8d85f21ad5f4704e3ef67656903f45f9e76 React-RCTLinking: 3dad213f5ef5798b9491037aebe84e8ad684d4c4 React-RCTNetwork: ebbb9581d8fdc91596a4ee5e9f9ae37d5f1e13b9 React-RCTSettings: a5e7f3f1d1b38be8bf9baa89228c5af98244f9ee React-RCTText: 209576913f7eccd84425ea3f3813772f1f66e1e4 React-RCTVibration: e8b7dd6635cc95689b5db643b5a3848f1e05b30b - React-rncore: cb0378f68684034519651b7472af51c1a0321f41 React-runtimeexecutor: 27f468c5576eaf05ffb7a907528e44c75a3fcbae ReactCommon: e30ec17dfb1d4c4f3419eac254350d6abca6d5a2 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index a0569e16..f8a0481b 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -562,7 +562,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -634,7 +634,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; From c5c2b8099e85154a8ea0ebd03efce28e73f3cc3a Mon Sep 17 00:00:00 2001 From: BartoszKlonowski Date: Tue, 26 Jul 2022 09:07:57 +0200 Subject: [PATCH 18/33] Correct path for new arch Podfile.lock creation --- .github/workflows/ReactNativeSlider-CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 5e577bc7..59e539a8 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -158,7 +158,7 @@ jobs: run: cd example && npm run refresh-package - name: Install pods with new arch enabled - run: RCT_NEW_ARCH_ENABLED=1 pod install + run: cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install - name: Opening Simulator app uses: futureware-tech/simulator-action@v1 From d258a90c5651674cb49a2a69f2c5acc9da364eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 26 Jul 2022 11:31:01 +0200 Subject: [PATCH 19/33] Disable flipper in Podfile --- example/ios/Podfile | 2 +- example/ios/Podfile.lock | 119 +----------------- example/ios/example.xcodeproj/project.pbxproj | 36 ------ 3 files changed, 2 insertions(+), 155 deletions(-) diff --git a/example/ios/Podfile b/example/ios/Podfile index eb7fb575..d099ec34 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -28,7 +28,7 @@ target 'example' do # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable the next line. - use_flipper!() + # use_flipper!() post_install do |installer| react_native_post_install(installer) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 6bf6f31d..3fddea77 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,6 +1,5 @@ PODS: - boost (1.76.0) - - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.69.1) - FBReactNativeSpec (0.69.1): @@ -10,71 +9,8 @@ PODS: - React-Core (= 0.69.1) - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - - Flipper (0.125.0): - - Flipper-Folly (~> 2.6) - - Flipper-RSocket (~> 1.4) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.2.0.1) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.10): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.5) - - Flipper-PeerTalk (0.0.4) - - Flipper-RSocket (1.4.3): - - Flipper-Folly (~> 2.6) - - FlipperKit (0.125.0): - - FlipperKit/Core (= 0.125.0) - - FlipperKit/Core (0.125.0): - - Flipper (~> 0.125.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.125.0): - - Flipper (~> 0.125.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.125.0): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.125.0) - - FlipperKit/FKPortForwarding (0.125.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.125.0) - - FlipperKit/FlipperKitLayoutHelpers (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.125.0) - - FlipperKit/FlipperKitNetworkPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - - libevent (2.1.12) - - OpenSSL-Universal (1.1.1100) - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion @@ -352,39 +288,14 @@ PODS: - React-jsi (= 0.69.1) - React-logger (= 0.69.1) - React-perflogger (= 0.69.1) - - SocketRocket (0.6.0) - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.125.0) - - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.2.0.1) - - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.5) - - Flipper-PeerTalk (= 0.0.4) - - Flipper-RSocket (= 1.4.3) - - FlipperKit (= 0.125.0) - - FlipperKit/Core (= 0.125.0) - - FlipperKit/CppBridge (= 0.125.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.125.0) - - FlipperKit/FBDefines (= 0.125.0) - - FlipperKit/FKPortForwarding (= 0.125.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.125.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.125.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.125.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.125.0) - - FlipperKit/FlipperKitReactPlugin (= 0.125.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -418,21 +329,7 @@ DEPENDENCIES: SPEC REPOS: trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - Flipper-RSocket - - FlipperKit - fmt - - libevent - - OpenSSL-Universal - - SocketRocket - - YogaKit EXTERNAL SOURCES: boost: @@ -504,23 +401,11 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 068141206af867f72854753423d0117c4bf53419 FBReactNativeSpec: 546a637adc797fa436dd51d1c63c580f820de31c - Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 - FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a RCTRequired: ae07282b2ec9c90d7eb98251603bc3f82403d239 RCTTypeSafety: a04dc1339af2e1da759ccd093bf11c310dce1ef6 @@ -548,10 +433,8 @@ SPEC CHECKSUMS: React-RCTVibration: e8b7dd6635cc95689b5db643b5a3848f1e05b30b React-runtimeexecutor: 27f468c5576eaf05ffb7a907528e44c75a3fcbae ReactCommon: e30ec17dfb1d4c4f3419eac254350d6abca6d5a2 - SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 Yoga: 7ab6e3ee4ce47d7b789d1cb520163833e515f452 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: ea17b1731971e714550ad4c057f8c9e4dd544466 +PODFILE CHECKSUM: 2bee2bd5d60bce023442613522baa9154a69716b COCOAPODS: 1.11.3 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index f8a0481b..348d7c97 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -159,7 +159,6 @@ 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - B7B12223E6640E810DCA7DCD /* [CP] Embed Pods Frameworks */, 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -182,7 +181,6 @@ 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 93DF3F01022418EBD806CF16 /* [CP] Embed Pods Frameworks */, 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -305,23 +303,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 93DF3F01022418EBD806CF16 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -339,23 +320,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - B7B12223E6640E810DCA7DCD /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; ED2E2923E032D37CF13CC324 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From dc0988a092426b717f42abfb32ee1488d74c2388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 26 Jul 2022 11:53:17 +0200 Subject: [PATCH 20/33] Install pods with new arch flag --- example/ios/Podfile.lock | 389 +++++++++++++++++- example/ios/example.xcodeproj/project.pbxproj | 40 +- 2 files changed, 424 insertions(+), 5 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 3fddea77..e068a92d 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -11,6 +11,8 @@ PODS: - ReactCommon/turbomodule/core (= 0.69.1) - fmt (6.2.1) - glog (0.3.5) + - hermes-engine (0.69.1) + - libevent (2.1.12) - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion @@ -22,6 +24,17 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog + - RCT-Folly/Fabric (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Futures (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent - RCTRequired (0.69.1) - RCTTypeSafety (0.69.1): - FBLazyVector (= 0.69.1) @@ -50,8 +63,10 @@ PODS: - RCTRequired (= 0.69.1) - RCTTypeSafety (= 0.69.1) - React-Core (= 0.69.1) + - React-graphics (= 0.69.1) - React-jsi (= 0.69.1) - React-jsiexecutor (= 0.69.1) + - React-rncore (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - React-Core (0.69.1): - glog @@ -199,6 +214,328 @@ PODS: - React-logger (= 0.69.1) - React-perflogger (= 0.69.1) - React-runtimeexecutor (= 0.69.1) + - React-Fabric (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/animations (= 0.69.1) + - React-Fabric/attributedstring (= 0.69.1) + - React-Fabric/butter (= 0.69.1) + - React-Fabric/componentregistry (= 0.69.1) + - React-Fabric/componentregistrynative (= 0.69.1) + - React-Fabric/components (= 0.69.1) + - React-Fabric/config (= 0.69.1) + - React-Fabric/core (= 0.69.1) + - React-Fabric/debug_core (= 0.69.1) + - React-Fabric/debug_renderer (= 0.69.1) + - React-Fabric/imagemanager (= 0.69.1) + - React-Fabric/leakchecker (= 0.69.1) + - React-Fabric/mounting (= 0.69.1) + - React-Fabric/runtimescheduler (= 0.69.1) + - React-Fabric/scheduler (= 0.69.1) + - React-Fabric/telemetry (= 0.69.1) + - React-Fabric/templateprocessor (= 0.69.1) + - React-Fabric/textlayoutmanager (= 0.69.1) + - React-Fabric/uimanager (= 0.69.1) + - React-Fabric/utils (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/animations (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/attributedstring (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/butter (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/componentregistry (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/componentregistrynative (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/components/activityindicator (= 0.69.1) + - React-Fabric/components/image (= 0.69.1) + - React-Fabric/components/inputaccessory (= 0.69.1) + - React-Fabric/components/legacyviewmanagerinterop (= 0.69.1) + - React-Fabric/components/modal (= 0.69.1) + - React-Fabric/components/root (= 0.69.1) + - React-Fabric/components/safeareaview (= 0.69.1) + - React-Fabric/components/scrollview (= 0.69.1) + - React-Fabric/components/slider (= 0.69.1) + - React-Fabric/components/text (= 0.69.1) + - React-Fabric/components/textinput (= 0.69.1) + - React-Fabric/components/unimplementedview (= 0.69.1) + - React-Fabric/components/view (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/activityindicator (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/image (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/inputaccessory (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/legacyviewmanagerinterop (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/modal (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/root (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/safeareaview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/scrollview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/slider (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/text (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/textinput (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/unimplementedview (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/components/view (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - Yoga + - React-Fabric/config (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/core (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/debug_core (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/debug_renderer (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/imagemanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - React-RCTImage (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/leakchecker (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/mounting (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/runtimescheduler (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/scheduler (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/telemetry (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/templateprocessor (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/textlayoutmanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-Fabric/uimanager + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/uimanager (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-Fabric/utils (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.69.1) + - RCTTypeSafety (= 0.69.1) + - React-graphics (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - ReactCommon/turbomodule/core (= 0.69.1) + - React-graphics (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core/Default (= 0.69.1) + - React-hermes (0.69.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly/Futures (= 2021.06.28.00-v2) + - React-cxxreact (= 0.69.1) + - React-jsi (= 0.69.1) + - React-jsiexecutor (= 0.69.1) + - React-jsinspector (= 0.69.1) + - React-perflogger (= 0.69.1) - React-jsi (0.69.1): - boost (= 1.76.0) - DoubleConversion @@ -210,6 +547,11 @@ PODS: - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Fabric (0.69.1): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-jsiexecutor (0.69.1): - DoubleConversion - glog @@ -221,7 +563,13 @@ PODS: - React-logger (0.69.1): - glog - react-native-slider (4.2.4): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-RCTFabric + - ReactCommon/turbomodule/core - React-perflogger (0.69.1) - React-RCTActionSheet (0.69.1): - React-Core/RCTActionSheetHeaders (= 0.69.1) @@ -240,6 +588,11 @@ PODS: - React-jsi (= 0.69.1) - React-RCTNetwork (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) + - React-RCTFabric (0.69.1): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core (= 0.69.1) + - React-Fabric (= 0.69.1) + - React-RCTImage (= 0.69.1) - React-RCTImage (0.69.1): - RCT-Folly (= 2021.06.28.00-v2) - RCTTypeSafety (= 0.69.1) @@ -275,6 +628,7 @@ PODS: - React-Core/RCTVibrationHeaders (= 0.69.1) - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) + - React-rncore (0.69.1) - React-runtimeexecutor (0.69.1): - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (0.69.1): @@ -296,7 +650,10 @@ DEPENDENCIES: - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) + - libevent (~> 2.1.12) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -308,7 +665,11 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsi/Fabric (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) @@ -317,12 +678,14 @@ DEPENDENCIES: - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -330,6 +693,7 @@ DEPENDENCIES: SPEC REPOS: trunk: - fmt + - libevent EXTERNAL SOURCES: boost: @@ -342,6 +706,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -362,6 +728,12 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-Fabric: + :path: "../node_modules/react-native/ReactCommon" + React-graphics: + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -380,6 +752,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -392,6 +766,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" React-runtimeexecutor: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: @@ -403,34 +779,41 @@ SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 068141206af867f72854753423d0117c4bf53419 - FBReactNativeSpec: 546a637adc797fa436dd51d1c63c580f820de31c + FBReactNativeSpec: 035cd010765c7e1349c39649579934df6ef42fb2 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a + hermes-engine: ece2bfa9bdb7f77f393cb2b41edf638eb086ec1a + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a RCTRequired: ae07282b2ec9c90d7eb98251603bc3f82403d239 RCTTypeSafety: a04dc1339af2e1da759ccd093bf11c310dce1ef6 React: dbd201f781b180eab148aa961683943c72f67dcf React-bridging: 10a863fdc0fc6f9c9f8527640936b293cd288bdc React-callinvoker: 6ad32eee2630dab9023de5df2a6a8cacbfc99a67 - React-Codegen: fe3423fa6f37d05e233ab0e85e34fe0b443a5654 + React-Codegen: 08f97c143f2791d6c713dd6297f113dda471a4ec React-Core: 6177b1f2dd794fe202a5042d3678b2ddfcbfb7d4 React-CoreModules: c74e6b155f9876b1947fc8a13f0cb437cc7f6dcd React-cxxreact: a07b7d90c4c71dd38c7383c7344b34d0a1336aee + React-Fabric: b05e1713dc1120b893c2848844e072c3c5e8b29e + React-graphics: 45643376e43e65ff9aeb1edfd5a5d94226a998e7 + React-hermes: 7e3687d19af44c3c53ad6acfad4f8fa53009d11b React-jsi: d762c410d10830b7579225c78f2fd881c29649ca React-jsiexecutor: 758e70947c232828a66b5ddc42d02b4d010fa26e React-jsinspector: 55605caf04e02f9b0e05842b786f1c12dde08f4b React-logger: ca970551cb7eea2fd814d0d5f6fc1a471eb53b76 - react-native-slider: 541c8579b23211cc985ac44023dd0f0d46c9f497 + react-native-slider: 38a126de18fba442061714a15a9ca81e1cd3c886 React-perflogger: c9161ff0f1c769993cd11d2751e4331ff4ceb7cd React-RCTActionSheet: 2d885b0bea76a5254ef852939273edd8de116180 React-RCTAnimation: 353fa4fc3c19060068832dd32e555182ec07be45 React-RCTBlob: 647da863bc7d4f169bb80463fbcdd59c4fc76e6a + React-RCTFabric: d2307c5b12482ae5d7911bf341aaa25b5d23de5a React-RCTImage: e77ee8d85f21ad5f4704e3ef67656903f45f9e76 React-RCTLinking: 3dad213f5ef5798b9491037aebe84e8ad684d4c4 React-RCTNetwork: ebbb9581d8fdc91596a4ee5e9f9ae37d5f1e13b9 React-RCTSettings: a5e7f3f1d1b38be8bf9baa89228c5af98244f9ee React-RCTText: 209576913f7eccd84425ea3f3813772f1f66e1e4 React-RCTVibration: e8b7dd6635cc95689b5db643b5a3848f1e05b30b + React-rncore: cb0378f68684034519651b7472af51c1a0321f41 React-runtimeexecutor: 27f468c5576eaf05ffb7a907528e44c75a3fcbae ReactCommon: e30ec17dfb1d4c4f3419eac254350d6abca6d5a2 Yoga: 7ab6e3ee4ce47d7b789d1cb520163833e515f452 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index 348d7c97..f9c4b2af 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -160,6 +160,7 @@ 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */, + 62B07E94A517A654D614F238 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -182,6 +183,7 @@ 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */, + 8859B2608A7D7A29A058845F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -286,6 +288,40 @@ 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"; showEnvVarsInLog = 0; }; + 62B07E94A517A654D614F238 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8859B2608A7D7A29A058845F /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -526,7 +562,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -598,7 +634,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; From 8574ae602f29366945870d0eb489aeab1ee14226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 26 Jul 2022 13:07:32 +0200 Subject: [PATCH 21/33] Fix tapToSeek on iOS --- package/ios/RNCSliderComponentView.mm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index 5795e439..8048f86e 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -85,14 +85,14 @@ - (void)tapHandler:(UITapGestureRecognizer *)gesture { [slider setValue:[slider discreteValue:value] animated: YES]; std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(value)}); + ->onRNCSliderSlidingStart(RNCSliderEventEmitter::OnRNCSliderSlidingStart{.value = static_cast(slider.lastValue)}); // Trigger onValueChange to address https://github.com/react-native-community/react-native-slider/issues/212 std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(value)}); + ->onRNCSliderValueChange(RNCSliderEventEmitter::OnRNCSliderValueChange{.value = static_cast(slider.value)}); std::dynamic_pointer_cast(_eventEmitter) - ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(value)}); + ->onRNCSliderSlidingComplete(RNCSliderEventEmitter::OnRNCSliderSlidingComplete{.value = static_cast(slider.value)}); } - (void)sliderValueChanged:(RNCSlider *)sender From 62e5e460c17bb56b260fc22f97495740aa6fce8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Tue, 26 Jul 2022 14:52:20 +0200 Subject: [PATCH 22/33] Allow value property to be controlled --- package/ios/RNCSliderComponentView.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/package/ios/RNCSliderComponentView.mm b/package/ios/RNCSliderComponentView.mm index 8048f86e..a19e5375 100644 --- a/package/ios/RNCSliderComponentView.mm +++ b/package/ios/RNCSliderComponentView.mm @@ -103,14 +103,14 @@ - (void)sliderValueChanged:(RNCSlider *)sender - (void)sliderTouchStart:(RNCSlider *)sender { [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:YES]; - sender.isSliding = YES; _isSliding = YES; + sender.isSliding = YES; } - (void)sliderTouchEnd:(RNCSlider *)sender { [self RNCSendSliderEvent:sender withContinuous:NO isSlidingStart:NO]; - sender.isSliding = YES; + sender.isSliding = NO; _isSliding = NO; } @@ -147,7 +147,9 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & const auto &newScreenProps = *std::static_pointer_cast(props); if (oldScreenProps.value != newScreenProps.value) { - slider.value = newScreenProps.value; + if (!slider.isSliding) { + slider.value = newScreenProps.value; + } } if (oldScreenProps.disabled != newScreenProps.disabled) { slider.enabled = !newScreenProps.disabled; From 9a35cb815ff4c9ee804b24cb728a0e0cfc42a2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 11:46:33 +0200 Subject: [PATCH 23/33] Generate project.pbxproj for new arch --- example/ios/example.xcodeproj/project.pbxproj | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index f9c4b2af..a60afcd9 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -160,7 +160,7 @@ 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */, - 62B07E94A517A654D614F238 /* [CP] Embed Pods Frameworks */, + ED76786EBF94BB4078396B73 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -183,7 +183,7 @@ 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */, - 8859B2608A7D7A29A058845F /* [CP] Embed Pods Frameworks */, + 980B429B36036921E325D9F8 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -288,24 +288,24 @@ 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"; showEnvVarsInLog = 0; }; - 62B07E94A517A654D614F238 /* [CP] Embed Pods Frameworks */ = { + 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 8859B2608A7D7A29A058845F /* [CP] Embed Pods Frameworks */ = { + 980B429B36036921E325D9F8 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -322,23 +322,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -378,6 +361,23 @@ 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"; showEnvVarsInLog = 0; }; + ED76786EBF94BB4078396B73 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From ad2f640d59b5e035118da463f68b74bc5467db4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 13:40:50 +0200 Subject: [PATCH 24/33] Separate npm & pods step in CI --- .github/workflows/ReactNativeSlider-CI.yml | 37 ++++++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 59e539a8..cef2ef2a 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -109,13 +109,26 @@ jobs: with: path: | example/node_modules + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} }} + + - name: Cache pods + id: cache-pods + uses: actions/cache@v3 + env: + cache-name: cached-ios-pods + with: + path: | example/ios/Pods - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }}-${{ hashFiles('./example/ios/Podfile.lock') }} + key: ${{ ${{ hashFiles('./example/ios/Podfile.lock') }} - - name: Install required dependencies on cache miss + - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' run: | npm install + + - name: Install required dependencies on cache miss (pods) + if: steps.cache-pods.outputs.cache-hit != 'true' + run: | cd example/ios && pod install --verbose - name: Use the current package sources in build @@ -145,21 +158,31 @@ jobs: with: path: | example/node_modules + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} }} + + - name: Cache pods + id: cache-pods + uses: actions/cache@v3 + env: + cache-name: cached-ios-new-arch-pods + with: + path: | example/ios/Pods - key: new-arch-${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} + key: ${{ new-arch-${{ hashFiles('./example/ios/Podfile.lock') }} - - name: Install required dependencies on cache miss + - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' run: | npm install + + - name: Install required dependencies on cache miss (pods) + if: steps.cache-pods.outputs.cache-hit != 'true' + run: | cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install - name: Use the current package sources in build run: cd example && npm run refresh-package - - name: Install pods with new arch enabled - run: cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install - - name: Opening Simulator app uses: futureware-tech/simulator-action@v1 with: From e6531fc7fcb8e06bbe1f692f22ab965709544b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 13:52:16 +0200 Subject: [PATCH 25/33] Change step names, fix cache keys --- .github/workflows/ReactNativeSlider-CI.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index cef2ef2a..1131dd4f 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -75,7 +75,7 @@ jobs: build-android-app: - name: Verify the package and example app builds for Android platform + name: Verify example Android runs-on: ubuntu-latest needs: [verify] @@ -95,7 +95,7 @@ jobs: build-iOS-app: - name: Verify the package and example app builds for iOS platform + name: Verify example iOS runs-on: macos-latest needs: [verify] steps: @@ -109,7 +109,7 @@ jobs: with: path: | example/node_modules - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} }} + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - name: Cache pods id: cache-pods @@ -119,7 +119,7 @@ jobs: with: path: | example/ios/Pods - key: ${{ ${{ hashFiles('./example/ios/Podfile.lock') }} + key: ${{ hashFiles('./example/ios/Podfile.lock') }} - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' @@ -144,7 +144,7 @@ jobs: build-iOS-new-arch-app: - name: Verify if app builds for new architecture + name: Verify example iOS - Fabric runs-on: macos-latest needs: [build-iOS-app] steps: @@ -154,11 +154,11 @@ jobs: id: cache-npm uses: actions/cache@v3 env: - cache-name: cached-ios-new-arch-deps + cache-name: cached-ios-deps with: path: | example/node_modules - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} }} + key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - name: Cache pods id: cache-pods @@ -168,7 +168,7 @@ jobs: with: path: | example/ios/Pods - key: ${{ new-arch-${{ hashFiles('./example/ios/Podfile.lock') }} + key: new-arch-${{ hashFiles('./example/ios/Podfile.lock') }} - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' @@ -193,7 +193,7 @@ jobs: build-Windows-app: - name: Verify the package and example app builds for Windows platform + name: Verify example Windows runs-on: windows-latest needs: [verify] steps: From 190454a2a57eea63dbeeb5221cfa242a2380334b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 15:18:39 +0200 Subject: [PATCH 26/33] Remove pods cache --- .github/workflows/ReactNativeSlider-CI.yml | 31 ++-------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 1131dd4f..a0be8a5c 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -111,23 +111,7 @@ jobs: example/node_modules key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - - name: Cache pods - id: cache-pods - uses: actions/cache@v3 - env: - cache-name: cached-ios-pods - with: - path: | - example/ios/Pods - key: ${{ hashFiles('./example/ios/Podfile.lock') }} - - - name: Install required dependencies on cache miss (npm) - if: steps.cache-npm.outputs.cache-hit != 'true' - run: | - npm install - - - name: Install required dependencies on cache miss (pods) - if: steps.cache-pods.outputs.cache-hit != 'true' + - name: Install pods run: | cd example/ios && pod install --verbose @@ -160,23 +144,12 @@ jobs: example/node_modules key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - - name: Cache pods - id: cache-pods - uses: actions/cache@v3 - env: - cache-name: cached-ios-new-arch-pods - with: - path: | - example/ios/Pods - key: new-arch-${{ hashFiles('./example/ios/Podfile.lock') }} - - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' run: | npm install - - name: Install required dependencies on cache miss (pods) - if: steps.cache-pods.outputs.cache-hit != 'true' + - name: Install Pods - Fabric run: | cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install From 22aa1909ebeaffd984d8d1d8ae42c1bcb0ab757d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 15:48:09 +0200 Subject: [PATCH 27/33] Run npm install if cache was not found --- .github/workflows/ReactNativeSlider-CI.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index a0be8a5c..ef736cba 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -111,9 +111,14 @@ jobs: example/node_modules key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - - name: Install pods + - name: Install required dependencies on cache miss (npm) + if: steps.cache-npm.outputs.cache-hit != 'true' run: | - cd example/ios && pod install --verbose + npm install + + - name: Install pods + run: pod install --verbose + working-directory: example/ios - name: Use the current package sources in build run: cd example && npm run refresh-package @@ -149,9 +154,9 @@ jobs: run: | npm install - - name: Install Pods - Fabric - run: | - cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install + - name: Install pods + run: RCT_NEW_ARCH_ENABLED=1 pod install + working-directory: example/ios - name: Use the current package sources in build run: cd example && npm run refresh-package From e2d87ec0204da9aa612fd4d6c0703ab94bc64821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 28 Jul 2022 16:07:13 +0200 Subject: [PATCH 28/33] Run build using xcodebuild --- .github/workflows/ReactNativeSlider-CI.yml | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index ef736cba..6bcf1154 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -123,13 +123,14 @@ jobs: - name: Use the current package sources in build run: cd example && npm run refresh-package - - name: Opening Simulator app - uses: futureware-tech/simulator-action@v1 - with: - model: 'iPhone 12 mini' - - - name: Builds the iOS app - run: cd example && npx react-native run-ios + - name: Build iOS + run: | + device_name='iPhone 13' + device=$(xcrun simctl list devices "${device_name}" available | grep "${device_name} (") + re='\(([-0-9A-Fa-f]+)\)' + [[ $device =~ $re ]] || exit 1 + xcodebuild -workspace example.xcworkspace -scheme example -destination "platform=iOS Simulator,id=${BASH_REMATCH[1]}" CODE_SIGNING_ALLOWED=NO COMPILER_INDEX_STORE_ENABLE=NO build + working-directory: example/ios build-iOS-new-arch-app: @@ -161,13 +162,14 @@ jobs: - name: Use the current package sources in build run: cd example && npm run refresh-package - - name: Opening Simulator app - uses: futureware-tech/simulator-action@v1 - with: - model: 'iPhone 12 mini' - - - name: Builds the iOS app - run: cd example && npx react-native run-ios + - name: Build iOS - Fabric + run: | + device_name='iPhone 13' + device=$(xcrun simctl list devices "${device_name}" available | grep "${device_name} (") + re='\(([-0-9A-Fa-f]+)\)' + [[ $device =~ $re ]] || exit 1 + xcodebuild -workspace example.xcworkspace -scheme example -destination "platform=iOS Simulator,id=${BASH_REMATCH[1]}" CODE_SIGNING_ALLOWED=NO COMPILER_INDEX_STORE_ENABLE=NO build + working-directory: example/ios build-Windows-app: From 9bfb6eb524626d419fbd7bbd198e435eebf2d2ed Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Thu, 28 Jul 2022 22:25:08 +0200 Subject: [PATCH 29/33] Fix: Pods-related error after using Pods from cache (#407) * Bring back Pods to cache * Use new-arch string in key for new arch cache * Try to reinstall pods instead of creating new * Separate deps installation between two caches * Rename Pods reinstall step --- .github/workflows/ReactNativeSlider-CI.yml | 52 ++++++++++++++++------ 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 6bcf1154..306a5eb2 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -105,10 +105,9 @@ jobs: id: cache-npm uses: actions/cache@v3 env: - cache-name: cached-ios-deps + cache-name: cached-ios-npm-deps with: - path: | - example/node_modules + path: example/node_modules key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - name: Install required dependencies on cache miss (npm) @@ -116,9 +115,23 @@ jobs: run: | npm install - - name: Install pods - run: pod install --verbose - working-directory: example/ios + - name: Cache Pods + id: cache-pods + uses: actions/cache@v3 + env: + cache-name: cached-ios-pods-deps + with: + path: example/ios/Pods + key: ${{ hashFiles('./example/ios/Podfile.lock') }} + + - name: Install required dependencies on cache miss (Pods) + if: steps.cache-pods.outputs.cache-hit != 'true' + run: | + cd example/ios && pod install + + - name: Reinstall Pods only if using cached ones + if: steps.cache-pods.outputs.cache-hit == 'true' + run: cd example/ios && pod install - name: Use the current package sources in build run: cd example && npm run refresh-package @@ -144,20 +157,33 @@ jobs: id: cache-npm uses: actions/cache@v3 env: - cache-name: cached-ios-deps + cache-name: cached-ios-npm-deps with: - path: | - example/node_modules - key: ${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} + path: example/node_modules + key: new-arch-${{ hashFiles('./example/package-lock.json') }}-${{ hashFiles('./package/package-lock.json') }} - name: Install required dependencies on cache miss (npm) if: steps.cache-npm.outputs.cache-hit != 'true' run: | npm install - - name: Install pods - run: RCT_NEW_ARCH_ENABLED=1 pod install - working-directory: example/ios + - name: Cache Pods + id: cache-pods + uses: actions/cache@v3 + env: + cache-name: cached-ios-pods-deps + with: + path: example/ios/Pods + key: new-arch-${{ hashFiles('./example/ios/Podfile.lock') }} + + - name: Install required dependencies on cache miss (Pods) + if: steps.cache-pods.outputs.cache-hit != 'true' + run: | + cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install + + - name: Reinstall Pods only if using cached ones + if: steps.cache-pods.outputs.cache-hit == 'true' + run: cd example/ios && RCT_NEW_ARCH_ENABLED=1 pod install - name: Use the current package sources in build run: cd example && npm run refresh-package From 4193daffe473666777312b84e6e1a61e470a2984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Fri, 29 Jul 2022 09:27:12 +0200 Subject: [PATCH 30/33] Remove explicit folly version, default to old arch --- example/ios/Podfile.lock | 389 +----------------- example/ios/example.xcodeproj/project.pbxproj | 40 +- package/react-native-slider.podspec | 3 +- 3 files changed, 6 insertions(+), 426 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index e068a92d..3fddea77 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -11,8 +11,6 @@ PODS: - ReactCommon/turbomodule/core (= 0.69.1) - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (0.69.1) - - libevent (2.1.12) - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion @@ -24,17 +22,6 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Fabric (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCT-Folly/Futures (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - RCTRequired (0.69.1) - RCTTypeSafety (0.69.1): - FBLazyVector (= 0.69.1) @@ -63,10 +50,8 @@ PODS: - RCTRequired (= 0.69.1) - RCTTypeSafety (= 0.69.1) - React-Core (= 0.69.1) - - React-graphics (= 0.69.1) - React-jsi (= 0.69.1) - React-jsiexecutor (= 0.69.1) - - React-rncore (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - React-Core (0.69.1): - glog @@ -214,328 +199,6 @@ PODS: - React-logger (= 0.69.1) - React-perflogger (= 0.69.1) - React-runtimeexecutor (= 0.69.1) - - React-Fabric (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/animations (= 0.69.1) - - React-Fabric/attributedstring (= 0.69.1) - - React-Fabric/butter (= 0.69.1) - - React-Fabric/componentregistry (= 0.69.1) - - React-Fabric/componentregistrynative (= 0.69.1) - - React-Fabric/components (= 0.69.1) - - React-Fabric/config (= 0.69.1) - - React-Fabric/core (= 0.69.1) - - React-Fabric/debug_core (= 0.69.1) - - React-Fabric/debug_renderer (= 0.69.1) - - React-Fabric/imagemanager (= 0.69.1) - - React-Fabric/leakchecker (= 0.69.1) - - React-Fabric/mounting (= 0.69.1) - - React-Fabric/runtimescheduler (= 0.69.1) - - React-Fabric/scheduler (= 0.69.1) - - React-Fabric/telemetry (= 0.69.1) - - React-Fabric/templateprocessor (= 0.69.1) - - React-Fabric/textlayoutmanager (= 0.69.1) - - React-Fabric/uimanager (= 0.69.1) - - React-Fabric/utils (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/animations (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/attributedstring (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/butter (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/componentregistry (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/componentregistrynative (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/components/activityindicator (= 0.69.1) - - React-Fabric/components/image (= 0.69.1) - - React-Fabric/components/inputaccessory (= 0.69.1) - - React-Fabric/components/legacyviewmanagerinterop (= 0.69.1) - - React-Fabric/components/modal (= 0.69.1) - - React-Fabric/components/root (= 0.69.1) - - React-Fabric/components/safeareaview (= 0.69.1) - - React-Fabric/components/scrollview (= 0.69.1) - - React-Fabric/components/slider (= 0.69.1) - - React-Fabric/components/text (= 0.69.1) - - React-Fabric/components/textinput (= 0.69.1) - - React-Fabric/components/unimplementedview (= 0.69.1) - - React-Fabric/components/view (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/activityindicator (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/image (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/inputaccessory (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/legacyviewmanagerinterop (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/modal (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/root (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/safeareaview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/scrollview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/slider (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/text (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/textinput (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/unimplementedview (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/components/view (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - Yoga - - React-Fabric/config (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/core (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/debug_core (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/debug_renderer (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/imagemanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - React-RCTImage (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/leakchecker (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/mounting (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/runtimescheduler (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/scheduler (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/telemetry (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/templateprocessor (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/textlayoutmanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-Fabric/uimanager - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/uimanager (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-Fabric/utils (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.1) - - RCTTypeSafety (= 0.69.1) - - React-graphics (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - ReactCommon/turbomodule/core (= 0.69.1) - - React-graphics (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.1) - - React-hermes (0.69.1): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.06.28.00-v2) - - RCT-Folly/Futures (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.1) - - React-jsi (= 0.69.1) - - React-jsiexecutor (= 0.69.1) - - React-jsinspector (= 0.69.1) - - React-perflogger (= 0.69.1) - React-jsi (0.69.1): - boost (= 1.76.0) - DoubleConversion @@ -547,11 +210,6 @@ PODS: - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Fabric (0.69.1): - - boost (= 1.76.0) - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - React-jsiexecutor (0.69.1): - DoubleConversion - glog @@ -563,13 +221,7 @@ PODS: - React-logger (0.69.1): - glog - react-native-slider (4.2.4): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired - - RCTTypeSafety - - React-Codegen - React-Core - - React-RCTFabric - - ReactCommon/turbomodule/core - React-perflogger (0.69.1) - React-RCTActionSheet (0.69.1): - React-Core/RCTActionSheetHeaders (= 0.69.1) @@ -588,11 +240,6 @@ PODS: - React-jsi (= 0.69.1) - React-RCTNetwork (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - - React-RCTFabric (0.69.1): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core (= 0.69.1) - - React-Fabric (= 0.69.1) - - React-RCTImage (= 0.69.1) - React-RCTImage (0.69.1): - RCT-Folly (= 2021.06.28.00-v2) - RCTTypeSafety (= 0.69.1) @@ -628,7 +275,6 @@ PODS: - React-Core/RCTVibrationHeaders (= 0.69.1) - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (= 0.69.1) - - React-rncore (0.69.1) - React-runtimeexecutor (0.69.1): - React-jsi (= 0.69.1) - ReactCommon/turbomodule/core (0.69.1): @@ -650,10 +296,7 @@ DEPENDENCIES: - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - - libevent (~> 2.1.12) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -665,11 +308,7 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsi/Fabric (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) @@ -678,14 +317,12 @@ DEPENDENCIES: - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -693,7 +330,6 @@ DEPENDENCIES: SPEC REPOS: trunk: - fmt - - libevent EXTERNAL SOURCES: boost: @@ -706,8 +342,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -728,12 +362,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" - React-Fabric: - :path: "../node_modules/react-native/ReactCommon" - React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: @@ -752,8 +380,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../node_modules/react-native/Libraries/Blob" - React-RCTFabric: - :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -766,8 +392,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" - React-rncore: - :path: "../node_modules/react-native/ReactCommon" React-runtimeexecutor: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: @@ -779,41 +403,34 @@ SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 068141206af867f72854753423d0117c4bf53419 - FBReactNativeSpec: 035cd010765c7e1349c39649579934df6ef42fb2 + FBReactNativeSpec: 546a637adc797fa436dd51d1c63c580f820de31c fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a - hermes-engine: ece2bfa9bdb7f77f393cb2b41edf638eb086ec1a - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a RCTRequired: ae07282b2ec9c90d7eb98251603bc3f82403d239 RCTTypeSafety: a04dc1339af2e1da759ccd093bf11c310dce1ef6 React: dbd201f781b180eab148aa961683943c72f67dcf React-bridging: 10a863fdc0fc6f9c9f8527640936b293cd288bdc React-callinvoker: 6ad32eee2630dab9023de5df2a6a8cacbfc99a67 - React-Codegen: 08f97c143f2791d6c713dd6297f113dda471a4ec + React-Codegen: fe3423fa6f37d05e233ab0e85e34fe0b443a5654 React-Core: 6177b1f2dd794fe202a5042d3678b2ddfcbfb7d4 React-CoreModules: c74e6b155f9876b1947fc8a13f0cb437cc7f6dcd React-cxxreact: a07b7d90c4c71dd38c7383c7344b34d0a1336aee - React-Fabric: b05e1713dc1120b893c2848844e072c3c5e8b29e - React-graphics: 45643376e43e65ff9aeb1edfd5a5d94226a998e7 - React-hermes: 7e3687d19af44c3c53ad6acfad4f8fa53009d11b React-jsi: d762c410d10830b7579225c78f2fd881c29649ca React-jsiexecutor: 758e70947c232828a66b5ddc42d02b4d010fa26e React-jsinspector: 55605caf04e02f9b0e05842b786f1c12dde08f4b React-logger: ca970551cb7eea2fd814d0d5f6fc1a471eb53b76 - react-native-slider: 38a126de18fba442061714a15a9ca81e1cd3c886 + react-native-slider: 541c8579b23211cc985ac44023dd0f0d46c9f497 React-perflogger: c9161ff0f1c769993cd11d2751e4331ff4ceb7cd React-RCTActionSheet: 2d885b0bea76a5254ef852939273edd8de116180 React-RCTAnimation: 353fa4fc3c19060068832dd32e555182ec07be45 React-RCTBlob: 647da863bc7d4f169bb80463fbcdd59c4fc76e6a - React-RCTFabric: d2307c5b12482ae5d7911bf341aaa25b5d23de5a React-RCTImage: e77ee8d85f21ad5f4704e3ef67656903f45f9e76 React-RCTLinking: 3dad213f5ef5798b9491037aebe84e8ad684d4c4 React-RCTNetwork: ebbb9581d8fdc91596a4ee5e9f9ae37d5f1e13b9 React-RCTSettings: a5e7f3f1d1b38be8bf9baa89228c5af98244f9ee React-RCTText: 209576913f7eccd84425ea3f3813772f1f66e1e4 React-RCTVibration: e8b7dd6635cc95689b5db643b5a3848f1e05b30b - React-rncore: cb0378f68684034519651b7472af51c1a0321f41 React-runtimeexecutor: 27f468c5576eaf05ffb7a907528e44c75a3fcbae ReactCommon: e30ec17dfb1d4c4f3419eac254350d6abca6d5a2 Yoga: 7ab6e3ee4ce47d7b789d1cb520163833e515f452 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index a60afcd9..348d7c97 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -160,7 +160,6 @@ 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, 924ABD9BC0AE551498AC2975 /* [CP] Copy Pods Resources */, - ED76786EBF94BB4078396B73 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -183,7 +182,6 @@ 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */, - 980B429B36036921E325D9F8 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -305,23 +303,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 980B429B36036921E325D9F8 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 99BDD7F81F6511283291DE22 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -361,23 +342,6 @@ 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"; showEnvVarsInLog = 0; }; - ED76786EBF94BB4078396B73 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -562,7 +526,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -634,7 +598,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/package/react-native-slider.podspec b/package/react-native-slider.podspec index 6f3b7350..d7a620e8 100644 --- a/package/react-native-slider.podspec +++ b/package/react-native-slider.podspec @@ -2,7 +2,6 @@ require 'json' package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) -folly_version = '2021.06.28.00-v2' folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' Pod::Spec.new do |s| @@ -31,7 +30,7 @@ Pod::Spec.new do |s| s.dependency "React-RCTFabric" s.dependency "React-Codegen" - s.dependency "RCT-Folly", folly_version + s.dependency "RCT-Folly" s.dependency "RCTRequired" s.dependency "RCTTypeSafety" s.dependency "ReactCommon/turbomodule/core" From 9af9061b61a59595be9e68014cb552aea6f4fabf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Fri, 29 Jul 2022 09:28:09 +0200 Subject: [PATCH 31/33] Add clean scripts in example for codegen cleanup --- example/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/example/package.json b/example/package.json index cca481d4..ce491287 100644 --- a/example/package.json +++ b/example/package.json @@ -10,7 +10,9 @@ "lint": "eslint .", "windows": "react-native run-windows", "postinstall": "rimraf ./node_modules/@react-native-community/slider && npx copyfiles -u 2 \"./../package/**/*\" ./node_modules/@react-native-community/slider && rimraf ./node_modules/@react-native-community/slider/node_modules", - "refresh-package": "rimraf ./node_modules/@react-native-community/slider && npx copyfiles -u 2 \"./../package/**/*\" ./node_modules/@react-native-community/slider && rimraf ./node_modules/@react-native-community/slider/node_modules" + "refresh-package": "rimraf ./node_modules/@react-native-community/slider && npx copyfiles -u 2 \"./../package/**/*\" ./node_modules/@react-native-community/slider && rimraf ./node_modules/@react-native-community/slider/node_modules", + "clean-android": "rm -rf android/app/build", + "clean-ios": "rm -rf ios/build/generated/ios && rm -rf ios/Pods && rm ios/Podfile.lock" }, "dependencies": { "@react-native-community/slider": "file:../package", From 1ae1cdae93932856b031564686bdd108f245495e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Fri, 29 Jul 2022 09:34:25 +0200 Subject: [PATCH 32/33] Change CI step names --- .github/workflows/ReactNativeSlider-CI.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ReactNativeSlider-CI.yml b/.github/workflows/ReactNativeSlider-CI.yml index 306a5eb2..2c433920 100644 --- a/.github/workflows/ReactNativeSlider-CI.yml +++ b/.github/workflows/ReactNativeSlider-CI.yml @@ -60,7 +60,7 @@ jobs: verify: - name: Verify the Example app sources + name: Verify example app sources runs-on: ubuntu-latest steps: @@ -75,7 +75,7 @@ jobs: build-android-app: - name: Verify example Android + name: Build example app Android runs-on: ubuntu-latest needs: [verify] @@ -95,7 +95,7 @@ jobs: build-iOS-app: - name: Verify example iOS + name: Build example app iOS runs-on: macos-latest needs: [verify] steps: @@ -147,7 +147,7 @@ jobs: build-iOS-new-arch-app: - name: Verify example iOS - Fabric + name: Build example app iOS (Fabric) runs-on: macos-latest needs: [build-iOS-app] steps: @@ -199,7 +199,7 @@ jobs: build-Windows-app: - name: Verify example Windows + name: Build example app Windows runs-on: windows-latest needs: [verify] steps: From 629d5261548d8095ea6bc6de5c91bf59a07147d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Fri, 29 Jul 2022 19:44:45 +0200 Subject: [PATCH 33/33] Remove isFabricEnabled This check is no longer needed. --- package/src/RNCSliderNativeComponent.js | 2 +- package/src/index.js | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/package/src/RNCSliderNativeComponent.js b/package/src/RNCSliderNativeComponent.js index 5551e788..09ad0cfd 100644 --- a/package/src/RNCSliderNativeComponent.js +++ b/package/src/RNCSliderNativeComponent.js @@ -25,7 +25,7 @@ type Event = $ReadOnly<{| fromUser?: ?boolean, |}>; -export type NativeProps = $ReadOnly<{| +type NativeProps = $ReadOnly<{| ...ViewProps, accessibilityUnits?: string, accessibilityIncrements?: $ReadOnlyArray, diff --git a/package/src/index.js b/package/src/index.js index 949963e2..81033322 100644 --- a/package/src/index.js +++ b/package/src/index.js @@ -1,14 +1,4 @@ // @flow - -import {requireNativeComponent} from 'react-native'; -import type {NativeComponent} from 'react-native/Libraries/Renderer/shims/ReactNative'; -import type {NativeProps} from './RNCSliderNativeComponent'; -const isFabricEnabled = global.nativeFabricUIManager != null; - -type RNCSliderType = Class>; - -const RNCSlider = isFabricEnabled - ? require('./RNCSliderNativeComponent').default - : ((requireNativeComponent('RNCSlider'): any): RNCSliderType); +const RNCSlider = require('./RNCSliderNativeComponent').default; export default RNCSlider;