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.
Files changed (74) hide show
  1. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  2. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +13 -27
  3. package/Libraries/Blob/React-RCTBlob.podspec +8 -14
  4. package/Libraries/Components/TabBarIOS/RCTTabBarItemNativeComponent.js +1 -1
  5. package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +1 -1
  6. package/Libraries/Core/ReactNativeVersion.js +1 -1
  7. package/Libraries/Image/React-RCTImage.podspec +9 -13
  8. package/Libraries/LinkingIOS/React-RCTLinking.podspec +4 -12
  9. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +7 -13
  10. package/Libraries/Network/React-RCTNetwork.podspec +7 -17
  11. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +7 -13
  12. package/Libraries/Settings/React-RCTSettings.podspec +7 -16
  13. package/Libraries/Vibration/React-RCTVibration.podspec +6 -14
  14. package/README.md +20 -26
  15. package/React/Base/RCTTouchHandlerTV.m +35 -0
  16. package/React/Base/RCTVersion.m +1 -1
  17. package/React/CoreModules/React-CoreModules.podspec +4 -8
  18. package/React/DevSupport/RCTInspectorDevServerHelper.mm +60 -4
  19. package/React/Fabric/RCTSurfacePointerHandlerTV.mm +37 -0
  20. package/React/Fabric/RCTSurfaceTouchHandlerTV.mm +30 -0
  21. package/React/Modules/RCTUIManager.m +4 -1
  22. package/React/React-RCTFabric.podspec +32 -32
  23. package/React/Views/RCTTVView.m +2 -2
  24. package/React/Views/SafeAreaView/RCTSafeAreaView.m +6 -1
  25. package/React-Core.podspec +5 -11
  26. package/ReactAndroid/gradle.properties +1 -1
  27. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -4
  28. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +1 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -11
  30. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +70 -5
  31. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +14 -9
  32. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +2 -0
  33. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +3 -9
  34. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  35. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.java +4 -1
  36. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +5 -0
  37. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +41 -4
  38. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +4 -1
  39. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +4 -29
  40. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +5 -1
  41. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +3 -2
  42. package/ReactCommon/React-Fabric.podspec +12 -13
  43. package/ReactCommon/React-FabricImage.podspec +14 -14
  44. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  45. package/ReactCommon/React-rncore.podspec +2 -3
  46. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  47. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +7 -4
  48. package/ReactCommon/jsi/React-jsi.podspec +8 -2
  49. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -1
  50. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +18 -6
  51. package/ReactCommon/react/renderer/attributedstring/conversions.h +6 -0
  52. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +23 -3
  53. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +4 -0
  54. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -3
  55. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +11 -17
  56. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +6 -4
  57. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +2 -1
  58. package/ReactCommon/react/utils/React-utils.podspec +2 -5
  59. package/cli.js +2 -2
  60. package/gradle/libs.versions.toml +1 -1
  61. package/package.json +13 -13
  62. package/scripts/cocoapods/codegen.rb +5 -16
  63. package/scripts/cocoapods/codegen_utils.rb +17 -17
  64. package/scripts/cocoapods/new_architecture.rb +15 -12
  65. package/scripts/cocoapods/utils.rb +75 -25
  66. package/scripts/react_native_pods.rb +36 -1
  67. package/sdks/.hermesversion +1 -1
  68. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  69. package/sdks/hermesc/osx-bin/hermes +0 -0
  70. package/sdks/hermesc/osx-bin/hermesc +0 -0
  71. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  72. package/template/android/build.gradle +2 -2
  73. package/template/package.json +2 -2
  74. 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
- ] : []).concat(use_frameworks ? [
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
- s.dependency "React-runtimescheduler"
97
- s.dependency "React-RCTFabric"
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.dependency "React-RuntimeCore"
101
- s.dependency "React-RuntimeApple"
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.dependency "React-Fabric"
115
- s.dependency "React-graphics"
116
- s.dependency "React-utils"
117
- s.dependency "React-debug"
118
- s.dependency "React-rendererdebug"
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-Codegen", version
56
- s.dependency "ReactCommon/turbomodule/core", version
57
- s.dependency "React-jsi", version
58
- s.dependency "React-Core/RCTBlobHeaders", version
59
- s.dependency "React-Core/RCTWebSocket", version
60
- s.dependency "React-RCTNetwork", version
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';
@@ -13,5 +13,5 @@ exports.version = {
13
13
  major: 0,
14
14
  minor: 73,
15
15
  patch: 0,
16
- prerelease: '0rc1',
16
+ prerelease: '0rc3',
17
17
  };
@@ -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 "React-Codegen", version
58
- s.dependency "RCTTypeSafety", version
59
- s.dependency "ReactCommon/turbomodule/core", version
60
- s.dependency "React-jsi", version
61
- s.dependency "React-Core/RCTImageHeaders", version
62
- s.dependency "React-RCTNetwork", version
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 "React-Codegen", version
56
- s.dependency "RCTTypeSafety", version
57
- s.dependency "ReactCommon/turbomodule/core", version
58
- s.dependency "React-jsi", version
59
- s.dependency "React-Core/RCTAnimationHeaders", version
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 "React-Codegen", version
61
- s.dependency "RCTTypeSafety", version
62
- s.dependency "ReactCommon/turbomodule/core", version
63
- s.dependency "React-jsi", version
64
- s.dependency "React-Core/RCTNetworkHeaders", version
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 "React-Codegen", version
57
- s.dependency "RCTTypeSafety", version
58
- s.dependency "React-Core/RCTPushNotificationHeaders", version
59
- s.dependency "ReactCommon/turbomodule/core", version
60
- s.dependency "React-jsi", version
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 "React-Codegen", version
60
- s.dependency "RCTTypeSafety", version
61
- s.dependency "ReactCommon/turbomodule/core", version
62
- s.dependency "React-jsi", version
63
- s.dependency "React-Core/RCTSettingsHeaders", version
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-Codegen", version
60
- s.dependency "ReactCommon/turbomodule/core", version
61
- s.dependency "React-jsi", version
62
- s.dependency "React-Core/RCTVibrationHeaders", version
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
- > _Pitfall:_ Make sure you do not globally install `react-native` or `react-native-tvos`. You should only install `@react-native-community/cli` to use the commands below. If you have done this the wrong way, you may get error messages like `ld: library not found for -lPods-TestApp-tvOS`.
50
+ We strongly recommend [Yarn](https://classic.yarnpkg.com/en/docs/install) as the package manager.
55
51
 
56
- Creating a new project that uses this package is done using the react-native CLI. New projects created this way will automatically have properly configured Apple TV targets created in their XCode projects. To use this NPM package in a new project, you can reference it as in the following example using the React Native community CLI:
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 init TestApp --template=react-native-tvos@latest
63
- # Now start the app in the tvOS Simulator - this will only work on a macOS machine
64
- cd TestApp && react-native run-ios --simulator "Apple TV" --scheme "TestApp-tvOS"
65
- # The Expo CLI may also be used -- see below for more details
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
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(73),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"0rc1",
27
+ RCTVersionPrerelease: @"0rc3",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -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