From f082e6cffd58381c3094fc5a9c0f2182c144dc4b Mon Sep 17 00:00:00 2001 From: dlowder-salesforce Date: Tue, 18 Jul 2017 15:03:37 -0700 Subject: [PATCH] Apple TV Cocoapods support Summary: **Motivation** Support Apple TV for people adding React Native to their projects using Cocoapods. **Test plan** Working test project at https://github.com/dlowder-salesforce/react-native-tvos-cocoapods-test Closes https://github.com/facebook/react-native/pull/15065 Differential Revision: D5443791 Pulled By: javache fbshipit-source-id: dc46a72df0d73a0049f1c3f9368658e5f3d1ecb8 --- React.podspec | 11 +++++++++-- ReactCommon/yoga/Yoga.podspec | 2 +- third-party-podspecs/DoubleConversion.podspec | 2 +- third-party-podspecs/Folly.podspec | 2 +- third-party-podspecs/GLog.podspec | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/React.podspec b/React.podspec index c254b35c51..68389ddcaf 100644 --- a/React.podspec +++ b/React.podspec @@ -36,7 +36,7 @@ Pod::Spec.new do |s| s.source = source s.default_subspec = "Core" s.requires_arc = true - s.platform = :ios, "8.0" + s.platforms = { :ios => "8.0", :tvos => "9.2" } s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++14" } s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs", "PATENTS" s.cocoapods_version = ">= 1.2.0" @@ -48,11 +48,18 @@ Pod::Spec.new do |s| "IntegrationTests/*", "React/DevSupport/*", "React/Inspector/*", - "React/**/RCTTVView.*", "ReactCommon/yoga/*", "React/Cxx*/*", "React/Base/RCTBatchedBridge.mm", "React/Executors/*" + ss.ios.exclude_files = "React/**/RCTTVView.*" + ss.tvos.exclude_files = "React/Modules/RCTClipboard*", + "React/Views/RCTDatePicker*", + "React/Views/RCTPicker*", + "React/Views/RCTRefreshControl*", + "React/Views/RCTSlider*", + "React/Views/RCTSwitch*", + "React/Views/RCTWebView*" ss.header_dir = "React" ss.framework = "JavaScriptCore" ss.libraries = "stdc++" diff --git a/ReactCommon/yoga/Yoga.podspec b/ReactCommon/yoga/Yoga.podspec index 6d053b34ee..c7cd65e3c1 100644 --- a/ReactCommon/yoga/Yoga.podspec +++ b/ReactCommon/yoga/Yoga.podspec @@ -34,7 +34,7 @@ Pod::Spec.new do |spec| ] # Pinning to the same version as React.podspec. - spec.platform = :ios, "8.0" + spec.platforms = { :ios => "8.0", :tvos => "9.2" } # Set this environment variable when not using the `:path` option to install the pod. # E.g. when publishing this spec to a spec repo. diff --git a/third-party-podspecs/DoubleConversion.podspec b/third-party-podspecs/DoubleConversion.podspec index 0c454f1ba6..514194ed61 100644 --- a/third-party-podspecs/DoubleConversion.podspec +++ b/third-party-podspecs/DoubleConversion.podspec @@ -12,6 +12,6 @@ Pod::Spec.new do |spec| spec.source_files = 'double-conversion/*.{h,cc}' # Pinning to the same version as React.podspec. - spec.platform = :ios, '8.0' + spec.platforms = { :ios => "8.0", :tvos => "9.2" } end diff --git a/third-party-podspecs/Folly.podspec b/third-party-podspecs/Folly.podspec index 1940c4ffaf..55d07f3363 100644 --- a/third-party-podspecs/Folly.podspec +++ b/third-party-podspecs/Folly.podspec @@ -31,5 +31,5 @@ Pod::Spec.new do |spec| "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\"" } # Pinning to the same version as React.podspec. - spec.platform = :ios, '8.0' + spec.platforms = { :ios => "8.0", :tvos => "9.2" } end diff --git a/third-party-podspecs/GLog.podspec b/third-party-podspecs/GLog.podspec index 0f402a8466..1cea58c1fe 100644 --- a/third-party-podspecs/GLog.podspec +++ b/third-party-podspecs/GLog.podspec @@ -27,6 +27,6 @@ Pod::Spec.new do |spec| "HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src" } # Pinning to the same version as React.podspec. - spec.platform = :ios, "8.0" + spec.platforms = { :ios => "8.0", :tvos => "9.2" } end