react-native-tvos 0.73.0-0rc1 → 0.73.0-0rc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +13 -27
- package/Libraries/Blob/React-RCTBlob.podspec +8 -14
- package/Libraries/Components/TabBarIOS/RCTTabBarItemNativeComponent.js +1 -1
- package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/React-RCTImage.podspec +9 -13
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +4 -12
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +7 -13
- package/Libraries/Network/React-RCTNetwork.podspec +7 -17
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +7 -13
- package/Libraries/Settings/React-RCTSettings.podspec +7 -16
- package/Libraries/Vibration/React-RCTVibration.podspec +6 -14
- package/README.md +20 -26
- package/React/Base/RCTTouchHandlerTV.m +35 -0
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +4 -8
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +60 -4
- package/React/Fabric/RCTSurfacePointerHandlerTV.mm +37 -0
- package/React/Fabric/RCTSurfaceTouchHandlerTV.mm +30 -0
- package/React/Modules/RCTUIManager.m +4 -1
- package/React/React-RCTFabric.podspec +32 -32
- package/React/Views/RCTTVView.m +2 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +6 -1
- package/React-Core.podspec +5 -11
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +70 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +14 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +3 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +41 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +4 -29
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +5 -1
- package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +3 -2
- package/ReactCommon/React-Fabric.podspec +12 -13
- package/ReactCommon/React-FabricImage.podspec +14 -14
- package/ReactCommon/React-Mapbuffer.podspec +2 -2
- package/ReactCommon/React-rncore.podspec +2 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +7 -4
- package/ReactCommon/jsi/React-jsi.podspec +8 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +18 -6
- package/ReactCommon/react/renderer/attributedstring/conversions.h +6 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +23 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +4 -0
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -3
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +11 -17
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +6 -4
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +2 -1
- package/ReactCommon/react/utils/React-utils.podspec +2 -5
- package/cli.js +2 -2
- package/gradle/libs.versions.toml +1 -1
- package/package.json +13 -13
- package/scripts/cocoapods/codegen.rb +5 -16
- package/scripts/cocoapods/codegen_utils.rb +17 -17
- package/scripts/cocoapods/new_architecture.rb +15 -12
- package/scripts/cocoapods/utils.rb +75 -25
- package/scripts/react_native_pods.rb +36 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +1 -1
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/android/build.gradle +2 -2
- package/template/package.json +2 -2
- package/types/public/ReactNativeTVTypes.d.ts +25 -25
|
@@ -30,7 +30,7 @@ function createAnimatedStyle(
|
|
|
30
30
|
const animatedStyles: any = {};
|
|
31
31
|
for (const key in style) {
|
|
32
32
|
const value = style[key];
|
|
33
|
-
if (key === 'transform') {
|
|
33
|
+
if (value != null && key === 'transform') {
|
|
34
34
|
animatedStyles[key] =
|
|
35
35
|
ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform()
|
|
36
36
|
? new AnimatedObject(value)
|
|
@@ -21,7 +21,6 @@ folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32'
|
|
|
21
21
|
|
|
22
22
|
is_new_arch_enabled = ENV["RCT_NEW_ARCH_ENABLED"] == "1"
|
|
23
23
|
use_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == '1'
|
|
24
|
-
use_frameworks = ENV['USE_FRAMEWORKS'] != nil
|
|
25
24
|
|
|
26
25
|
new_arch_enabled_flag = (is_new_arch_enabled ? " -DRCT_NEW_ARCH_ENABLED" : "")
|
|
27
26
|
is_fabric_enabled = is_new_arch_enabled || ENV["RCT_FABRIC_ENABLED"]
|
|
@@ -43,21 +42,7 @@ header_search_paths = [
|
|
|
43
42
|
].concat(use_hermes ? [
|
|
44
43
|
"$(PODS_ROOT)/Headers/Public/React-hermes",
|
|
45
44
|
"$(PODS_ROOT)/Headers/Public/hermes-engine"
|
|
46
|
-
] : [])
|
|
47
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers/",
|
|
48
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx/",
|
|
49
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/",
|
|
50
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
|
|
51
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
|
|
52
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
|
|
53
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-RuntimeApple/React_RuntimeApple.framework/Headers",
|
|
54
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-RuntimeCore/React_RuntimeCore.framework/Headers",
|
|
55
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-RCTFabric/RCTFabric.framework/Headers/",
|
|
56
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers/",
|
|
57
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers/",
|
|
58
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-runtimescheduler/React_runtimescheduler.framework/Headers/",
|
|
59
|
-
"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers/",
|
|
60
|
-
] : []).map{|p| "\"#{p}\""}.join(" ")
|
|
45
|
+
] : [])
|
|
61
46
|
|
|
62
47
|
Pod::Spec.new do |s|
|
|
63
48
|
s.name = "React-RCTAppDelegate"
|
|
@@ -87,18 +72,19 @@ Pod::Spec.new do |s|
|
|
|
87
72
|
s.dependency "RCT-Folly"
|
|
88
73
|
s.dependency "RCTRequired"
|
|
89
74
|
s.dependency "RCTTypeSafety"
|
|
90
|
-
s.dependency "ReactCommon/turbomodule/core"
|
|
91
75
|
s.dependency "React-RCTNetwork"
|
|
92
76
|
s.dependency "React-RCTImage"
|
|
93
|
-
s.dependency "React-NativeModulesApple"
|
|
94
77
|
s.dependency "React-CoreModules"
|
|
95
78
|
s.dependency "React-nativeconfig"
|
|
96
|
-
|
|
97
|
-
s
|
|
79
|
+
|
|
80
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
81
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
82
|
+
add_dependency(s, "React-runtimescheduler")
|
|
83
|
+
add_dependency(s, "React-RCTFabric", :framework_name => "RCTFabric")
|
|
98
84
|
|
|
99
85
|
if is_new_arch_enabled
|
|
100
|
-
s
|
|
101
|
-
s
|
|
86
|
+
add_dependency(s, "React-RuntimeCore")
|
|
87
|
+
add_dependency(s, "React-RuntimeApple")
|
|
102
88
|
if use_hermes
|
|
103
89
|
s.dependency "React-RuntimeHermes"
|
|
104
90
|
end
|
|
@@ -111,11 +97,11 @@ Pod::Spec.new do |s|
|
|
|
111
97
|
end
|
|
112
98
|
|
|
113
99
|
if is_new_arch_enabled
|
|
114
|
-
s
|
|
115
|
-
s
|
|
116
|
-
s
|
|
117
|
-
s
|
|
118
|
-
s
|
|
100
|
+
add_dependency(s, "React-Fabric", :additional_framework_paths => ["react/renderer/components/view/platform/cxx"])
|
|
101
|
+
add_dependency(s, "React-graphics", :additional_framework_paths => ["react/renderer/graphics/platform/ios"])
|
|
102
|
+
add_dependency(s, "React-utils")
|
|
103
|
+
add_dependency(s, "React-debug")
|
|
104
|
+
add_dependency(s, "React-rendererdebug")
|
|
119
105
|
|
|
120
106
|
rel_path_from_pods_root_to_app = Pathname.new(ENV['APP_PATH']).relative_path_from(Pod::Config.instance.installation_root)
|
|
121
107
|
rel_path_from_pods_to_app = Pathname.new(ENV['APP_PATH']).relative_path_from(File.join(Pod::Config.instance.installation_root, 'Pods'))
|
|
@@ -22,16 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\""
|
|
32
|
-
])
|
|
33
|
-
end
|
|
34
|
-
|
|
35
27
|
Pod::Spec.new do |s|
|
|
36
28
|
s.name = "React-RCTBlob"
|
|
37
29
|
s.version = version
|
|
@@ -52,12 +44,14 @@ Pod::Spec.new do |s|
|
|
|
52
44
|
}
|
|
53
45
|
|
|
54
46
|
s.dependency "RCT-Folly", folly_version
|
|
55
|
-
s.dependency "React-
|
|
56
|
-
s.dependency "
|
|
57
|
-
s.dependency "React-
|
|
58
|
-
s.dependency "React-
|
|
59
|
-
|
|
60
|
-
s
|
|
47
|
+
s.dependency "React-jsi"
|
|
48
|
+
s.dependency "React-Core/RCTBlobHeaders"
|
|
49
|
+
s.dependency "React-Core/RCTWebSocket"
|
|
50
|
+
s.dependency "React-RCTNetwork"
|
|
51
|
+
|
|
52
|
+
add_dependency(s, "React-Codegen")
|
|
53
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
54
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
61
55
|
|
|
62
56
|
if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1"
|
|
63
57
|
s.dependency "hermes-engine"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
|
|
13
|
+
const requireNativeComponent = require('../../ReactNative/requireNativeComponent').default;
|
|
14
14
|
|
|
15
15
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
16
16
|
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
|
|
13
|
+
const requireNativeComponent = require('../../ReactNative/requireNativeComponent').default;
|
|
14
14
|
|
|
15
15
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
16
16
|
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
|
|
@@ -22,15 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\""
|
|
32
|
-
])
|
|
33
|
-
end
|
|
34
27
|
|
|
35
28
|
Pod::Spec.new do |s|
|
|
36
29
|
s.name = "React-RCTImage"
|
|
@@ -54,10 +47,13 @@ Pod::Spec.new do |s|
|
|
|
54
47
|
s.framework = ["Accelerate", "UIKit"]
|
|
55
48
|
|
|
56
49
|
s.dependency "RCT-Folly", folly_version
|
|
57
|
-
s.dependency "
|
|
58
|
-
s.dependency "
|
|
59
|
-
s.dependency "
|
|
60
|
-
s.dependency "React-
|
|
61
|
-
|
|
62
|
-
s
|
|
50
|
+
s.dependency "RCTTypeSafety"
|
|
51
|
+
s.dependency "React-jsi"
|
|
52
|
+
s.dependency "React-Core/RCTImageHeaders"
|
|
53
|
+
s.dependency "React-RCTNetwork"
|
|
54
|
+
|
|
55
|
+
add_dependency(s, "React-Codegen")
|
|
56
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
57
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
58
|
+
|
|
63
59
|
end
|
|
@@ -22,19 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"",
|
|
32
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers/build/generated/ios\"",
|
|
33
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers/build/generated/ios\"",
|
|
34
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\""
|
|
35
|
-
])
|
|
36
|
-
end
|
|
37
|
-
|
|
38
27
|
Pod::Spec.new do |s|
|
|
39
28
|
s.name = "React-RCTLinking"
|
|
40
29
|
s.version = version
|
|
@@ -55,8 +44,11 @@ Pod::Spec.new do |s|
|
|
|
55
44
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' ')
|
|
56
45
|
}
|
|
57
46
|
|
|
58
|
-
s.dependency "React-Codegen", version
|
|
59
47
|
s.dependency "React-Core/RCTLinkingHeaders", version
|
|
60
48
|
s.dependency "ReactCommon/turbomodule/core", version
|
|
61
49
|
s.dependency "React-jsi", version
|
|
50
|
+
|
|
51
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
52
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
53
|
+
add_dependency(s, "React-NativeModulesApple", :additional_framework_paths => ["build/generated/ios"])
|
|
62
54
|
end
|
|
@@ -22,16 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\""
|
|
32
|
-
])
|
|
33
|
-
end
|
|
34
|
-
|
|
35
27
|
Pod::Spec.new do |s|
|
|
36
28
|
s.name = "React-RCTAnimation"
|
|
37
29
|
s.version = version
|
|
@@ -52,9 +44,11 @@ Pod::Spec.new do |s|
|
|
|
52
44
|
}
|
|
53
45
|
|
|
54
46
|
s.dependency "RCT-Folly", folly_version
|
|
55
|
-
s.dependency "
|
|
56
|
-
s.dependency "
|
|
57
|
-
s.dependency "
|
|
58
|
-
|
|
59
|
-
s
|
|
47
|
+
s.dependency "RCTTypeSafety"
|
|
48
|
+
s.dependency "React-jsi"
|
|
49
|
+
s.dependency "React-Core/RCTAnimationHeaders"
|
|
50
|
+
|
|
51
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
52
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
53
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
60
54
|
end
|
|
@@ -22,20 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"",
|
|
32
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers/build/generated/ios\"",
|
|
33
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers/build/generated/ios\"",
|
|
34
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\"",
|
|
35
|
-
|
|
36
|
-
])
|
|
37
|
-
end
|
|
38
|
-
|
|
39
27
|
Pod::Spec.new do |s|
|
|
40
28
|
s.name = "React-RCTNetwork"
|
|
41
29
|
s.version = version
|
|
@@ -57,9 +45,11 @@ Pod::Spec.new do |s|
|
|
|
57
45
|
s.frameworks = "MobileCoreServices"
|
|
58
46
|
|
|
59
47
|
s.dependency "RCT-Folly", folly_version
|
|
60
|
-
s.dependency "
|
|
61
|
-
s.dependency "
|
|
62
|
-
s.dependency "
|
|
63
|
-
|
|
64
|
-
s
|
|
48
|
+
s.dependency "RCTTypeSafety"
|
|
49
|
+
s.dependency "React-jsi"
|
|
50
|
+
s.dependency "React-Core/RCTNetworkHeaders"
|
|
51
|
+
|
|
52
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
53
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
54
|
+
add_dependency(s, "React-NativeModulesApple", :additional_framework_paths => ["build/generated/ios"])
|
|
65
55
|
end
|
|
@@ -22,16 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\""
|
|
32
|
-
])
|
|
33
|
-
end
|
|
34
|
-
|
|
35
27
|
Pod::Spec.new do |s|
|
|
36
28
|
s.name = "React-RCTPushNotification"
|
|
37
29
|
s.version = version
|
|
@@ -53,9 +45,11 @@ Pod::Spec.new do |s|
|
|
|
53
45
|
}
|
|
54
46
|
s.framework = "UserNotifications"
|
|
55
47
|
|
|
56
|
-
s.dependency "
|
|
57
|
-
s.dependency "
|
|
58
|
-
s.dependency "React-
|
|
59
|
-
|
|
60
|
-
s
|
|
48
|
+
s.dependency "RCTTypeSafety"
|
|
49
|
+
s.dependency "React-Core/RCTPushNotificationHeaders"
|
|
50
|
+
s.dependency "React-jsi"
|
|
51
|
+
|
|
52
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
53
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
54
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
61
55
|
end
|
|
@@ -22,19 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"",
|
|
32
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers/build/generated/ios\"",
|
|
33
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers/build/generated/ios\"",
|
|
34
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\"",
|
|
35
|
-
])
|
|
36
|
-
end
|
|
37
|
-
|
|
38
27
|
Pod::Spec.new do |s|
|
|
39
28
|
s.name = "React-RCTSettings"
|
|
40
29
|
s.version = version
|
|
@@ -56,9 +45,11 @@ Pod::Spec.new do |s|
|
|
|
56
45
|
}
|
|
57
46
|
|
|
58
47
|
s.dependency "RCT-Folly", folly_version
|
|
59
|
-
s.dependency "
|
|
60
|
-
s.dependency "
|
|
61
|
-
s.dependency "
|
|
62
|
-
|
|
63
|
-
s
|
|
48
|
+
s.dependency "RCTTypeSafety"
|
|
49
|
+
s.dependency "React-jsi"
|
|
50
|
+
s.dependency "React-Core/RCTSettingsHeaders"
|
|
51
|
+
|
|
52
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
53
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
54
|
+
add_dependency(s, "React-NativeModulesApple", :additional_framework_paths => ["build/generated/ios"])
|
|
64
55
|
end
|
|
@@ -22,18 +22,8 @@ folly_version = '2022.05.16.00'
|
|
|
22
22
|
header_search_paths = [
|
|
23
23
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
24
24
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
25
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
26
25
|
]
|
|
27
26
|
|
|
28
|
-
if ENV["USE_FRAMEWORKS"]
|
|
29
|
-
header_search_paths = header_search_paths.concat([
|
|
30
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"",
|
|
31
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"",
|
|
32
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers/build/generated/ios\"",
|
|
33
|
-
"\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\""
|
|
34
|
-
])
|
|
35
|
-
end
|
|
36
|
-
|
|
37
27
|
Pod::Spec.new do |s|
|
|
38
28
|
s.name = "React-RCTVibration"
|
|
39
29
|
s.version = version
|
|
@@ -56,8 +46,10 @@ Pod::Spec.new do |s|
|
|
|
56
46
|
s.frameworks = "AudioToolbox"
|
|
57
47
|
|
|
58
48
|
s.dependency "RCT-Folly", folly_version
|
|
59
|
-
s.dependency "React-
|
|
60
|
-
s.dependency "
|
|
61
|
-
|
|
62
|
-
s
|
|
49
|
+
s.dependency "React-jsi"
|
|
50
|
+
s.dependency "React-Core/RCTVibrationHeaders"
|
|
51
|
+
|
|
52
|
+
add_dependency(s, "React-Codegen", :additional_framework_paths => ["build/generated/ios"])
|
|
53
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
54
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
63
55
|
end
|
package/README.md
CHANGED
|
@@ -29,12 +29,6 @@ As of the 0.71 release, Hermes is fully working on both Apple TV and Android TV,
|
|
|
29
29
|
|
|
30
30
|
Typescript types for TV-specific components and APIs have been added to `types/public`.
|
|
31
31
|
|
|
32
|
-
A minimal Typescript starter template can be used to start a new project using the community react-native CLI (see below for more information on the CLI).
|
|
33
|
-
|
|
34
|
-
```sh
|
|
35
|
-
react-native init TestApp --template=react-native-template-typescript-tv
|
|
36
|
-
```
|
|
37
|
-
|
|
38
32
|
## General support for TV
|
|
39
33
|
|
|
40
34
|
TV device support has been implemented with the intention of making existing React Native applications "just work" on TV, with few or no changes needed in the JavaScript code for the applications.
|
|
@@ -49,33 +43,33 @@ You should also install `yarn` globally, as it should be used instead of `npm` f
|
|
|
49
43
|
- _Native layer for Apple TV_: React Native Xcode projects all now have Apple TV build targets, with names ending in the string '-tvOS'.
|
|
50
44
|
- _Maven artifacts for Android TV_: In 0.71, the React Native Android prebuilt archives are published to Maven instead of being included in the NPM. We are following the same model, except that the Maven artifacts will be in group `io.github.react-native-tvos` instead of `com.facebook.react`. The `@react-native/gradle-plugin` module has been upgraded so that the Android dependencies will be detected correctly during build.
|
|
51
45
|
|
|
52
|
-
## New project creation
|
|
46
|
+
## New project creation and using the Expo CLI
|
|
47
|
+
|
|
48
|
+
> _Pitfall:_ Make sure you do not globally install `react-native` or `react-native-tvos`. If you have done this the wrong way, you may get error messages like `ld: library not found for -lPods-TestApp-tvOS`.
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
We strongly recommend [Yarn](https://classic.yarnpkg.com/en/docs/install) as the package manager.
|
|
55
51
|
|
|
56
|
-
|
|
52
|
+
To create a new project, use `yarn create react-native-app` as shown below. (This will install the Expo tool `create-react-native-app` for you if it is not already present.)
|
|
53
|
+
|
|
54
|
+
New projects created this way will automatically have properly configured iPhone and Apple TV targets created in their XCode projects, and will have the Android manifest correctly configured for both Android phone and Android TV. New projects are set up to use the Expo CLI; the Expo dependency and `react-native.config.js` are included in the new app template.
|
|
57
55
|
|
|
58
56
|
```sh
|
|
59
|
-
# Make sure you have the CLI installed globally (this only needs to be done once on your system)
|
|
60
|
-
npm install -g @react-native-community/cli
|
|
61
57
|
# Init an app called 'TestApp', note that you must not be in a node module (directory with node_modules sub-directory) for this to work
|
|
62
|
-
react-native
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
#
|
|
58
|
+
yarn create react-native-app TestApp --template https://github.com/react-native-tvos/react-native-template-typescript-tv/tree/tv-release-0.73.0 --template-path template
|
|
59
|
+
cd TestApp
|
|
60
|
+
# Now build and start the app in the tvOS Simulator - this will only work on a macOS machine.
|
|
61
|
+
# This command can also be run via "yarn tvos".
|
|
62
|
+
npx expo run:ios --scheme MyApp-tvOS --device "Apple TV"
|
|
63
|
+
# You can also build and start the app on an iOS phone simulator.
|
|
64
|
+
# This command can also be run via "yarn ios".
|
|
65
|
+
npx expo run:ios
|
|
66
|
+
# or specify a simulator:
|
|
67
|
+
npx expo run:ios --scheme MyApp --device "iPhone 15"
|
|
68
|
+
# This command builds and starts the app in an Android TV emulator or a phone emulator (needs to be created in advance).
|
|
69
|
+
# This command can also be run via "yarn android".
|
|
70
|
+
npx expo run:android --device tv_api_31
|
|
66
71
|
```
|
|
67
72
|
|
|
68
|
-
## Expo CLI support
|
|
69
|
-
|
|
70
|
-
To run Apple TV (and Android TV) targets from the command line, it is now possible to use the Expo CLI, using the following steps:
|
|
71
|
-
|
|
72
|
-
- In your app, install the required Expo module: `yarn add expo`
|
|
73
|
-
- Add a file `react-native.config.js` at the top level of your app directory, with [these contents](https://github.com/byCedric/custom-prebuild-example/blob/main/app/react-native.config.js).
|
|
74
|
-
- Then an Apple TV target can be run: `npx expo run:ios --scheme MyApp-tvOS --device "Apple TV"`
|
|
75
|
-
- To run Android TV: `npx expo run:android`
|
|
76
|
-
|
|
77
|
-
The Expo dependency and `react-native.config.js` are included in the new app template.
|
|
78
|
-
|
|
79
73
|
See [this document](https://docs.expo.dev/bare/using-expo-cli/) for more details on Expo CLI functionality. (Note that many of these features require that Expo SDK modules be built into your app, which is not yet supported on Apple TV.)
|
|
80
74
|
|
|
81
75
|
## Code changes
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
#import "RCTTouchHandler.h"
|
|
4
|
+
|
|
5
|
+
#import "RCTAssert.h"
|
|
6
|
+
#import "RCTBridge.h"
|
|
7
|
+
#import "RCTEventDispatcherProtocol.h"
|
|
8
|
+
#import "RCTLog.h"
|
|
9
|
+
#import "RCTSurfaceView.h"
|
|
10
|
+
#import "RCTTouchEvent.h"
|
|
11
|
+
#import "RCTUIManager.h"
|
|
12
|
+
#import "RCTUtils.h"
|
|
13
|
+
#import "UIView+React.h"
|
|
14
|
+
|
|
15
|
+
@interface RCTTouchHandler () <UIGestureRecognizerDelegate>
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
// The touch handler should not be active on tvOS, so tvOS uses this
|
|
19
|
+
// stub implementation that does nothing.
|
|
20
|
+
// Fixes https://github.com/react-native-tvos/react-native-tvos/issues/595
|
|
21
|
+
//
|
|
22
|
+
@implementation RCTTouchHandler
|
|
23
|
+
|
|
24
|
+
- (instancetype)initWithBridge:(RCTBridge *)bridge
|
|
25
|
+
{
|
|
26
|
+
return [super initWithTarget:nil action:NULL];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)action)
|
|
30
|
+
|
|
31
|
+
- (void)attachToView:(UIView *)view {}
|
|
32
|
+
- (void)detachFromView:(UIView *)view {}
|
|
33
|
+
- (void)cancel {}
|
|
34
|
+
|
|
35
|
+
@end
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -24,14 +24,8 @@ header_search_paths = [
|
|
|
24
24
|
"\"$(PODS_TARGET_SRCROOT)/React/CoreModules\"",
|
|
25
25
|
"\"$(PODS_ROOT)/RCT-Folly\"",
|
|
26
26
|
"\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"",
|
|
27
|
-
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
28
27
|
]
|
|
29
28
|
|
|
30
|
-
if ENV['USE_FRAMEWORKS']
|
|
31
|
-
header_search_paths.append("\"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\"")
|
|
32
|
-
header_search_paths.append("\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\"")
|
|
33
|
-
end
|
|
34
|
-
|
|
35
29
|
Pod::Spec.new do |s|
|
|
36
30
|
s.name = "React-CoreModules"
|
|
37
31
|
s.version = version
|
|
@@ -50,13 +44,15 @@ Pod::Spec.new do |s|
|
|
|
50
44
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(" ")
|
|
51
45
|
}
|
|
52
46
|
s.framework = "UIKit"
|
|
53
|
-
s.dependency "React-Codegen", version
|
|
54
47
|
s.dependency "RCT-Folly", folly_version
|
|
55
48
|
s.dependency "RCTTypeSafety", version
|
|
56
49
|
s.dependency "React-Core/CoreModulesHeaders", version
|
|
57
50
|
s.dependency "React-RCTImage", version
|
|
58
|
-
s.dependency "ReactCommon/turbomodule/core", version
|
|
59
51
|
s.dependency "React-jsi", version
|
|
60
52
|
s.dependency 'React-RCTBlob'
|
|
61
53
|
s.dependency "SocketRocket", socket_rocket_version
|
|
54
|
+
|
|
55
|
+
add_dependency(s, "React-Codegen")
|
|
56
|
+
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
57
|
+
add_dependency(s, "React-NativeModulesApple")
|
|
62
58
|
end
|