From 77c7048746d28144d9609f68521580a02c1c52d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 10:35:05 -0800 Subject: [PATCH 01/16] [RNTester] Check-in pod install artefacts --- RNTester/Podfile.lock | 3 --- 1 file changed, 3 deletions(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 448aa4fe9f728e..b15ce22e4dcbd2 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -136,7 +136,6 @@ DEPENDENCIES: - React-RCTActionSheet (from `../Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../Libraries/NativeAnimation`) - React-RCTBlob (from `../Libraries/Blob`) - - React-RCTCameraRoll (from `../Libraries/CameraRoll`) - React-RCTImage (from `../Libraries/Image`) - React-RCTLinking (from `../Libraries/LinkingIOS`) - React-RCTNetwork (from `../Libraries/Network`) @@ -186,8 +185,6 @@ EXTERNAL SOURCES: :path: "../Libraries/NativeAnimation" React-RCTBlob: :path: "../Libraries/Blob" - React-RCTCameraRoll: - :path: "../Libraries/CameraRoll" React-RCTImage: :path: "../Libraries/Image" React-RCTLinking: From de04ff9e38d9c66591ebb9f12b60123f685e0778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 11:20:22 -0800 Subject: [PATCH 02/16] [RNTester] Add CameraRoll pod dependency back MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At least for now so we’re in sync with upstream v0.60.0 --- RNTester/Podfile.lock | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index b15ce22e4dcbd2..448aa4fe9f728e 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -136,6 +136,7 @@ DEPENDENCIES: - React-RCTActionSheet (from `../Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../Libraries/NativeAnimation`) - React-RCTBlob (from `../Libraries/Blob`) + - React-RCTCameraRoll (from `../Libraries/CameraRoll`) - React-RCTImage (from `../Libraries/Image`) - React-RCTLinking (from `../Libraries/LinkingIOS`) - React-RCTNetwork (from `../Libraries/Network`) @@ -185,6 +186,8 @@ EXTERNAL SOURCES: :path: "../Libraries/NativeAnimation" React-RCTBlob: :path: "../Libraries/Blob" + React-RCTCameraRoll: + :path: "../Libraries/CameraRoll" React-RCTImage: :path: "../Libraries/Image" React-RCTLinking: From 525ccd231a4464ebbc7e20c6ded6ea02da119082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Thu, 19 Dec 2019 18:43:34 -0800 Subject: [PATCH 03/16] [RNTester] First pass at adding CocoaPods based macOS target --- Libraries/ART/React-ART.podspec | 2 +- .../React-RCTActionSheet.podspec | 2 +- Libraries/Blob/React-RCTBlob.podspec | 2 +- Libraries/Image/React-RCTImage.podspec | 2 +- Libraries/LinkingIOS/React-RCTLinking.podspec | 2 +- .../React-RCTAnimation.podspec | 2 +- Libraries/Network/React-RCTNetwork.podspec | 2 +- Libraries/Settings/React-RCTSettings.podspec | 2 +- Libraries/Text/React-RCTText.podspec | 2 +- .../Vibration/React-RCTVibration.podspec | 2 +- .../WebSocket/React-RCTWebSocket.podspec | 2 +- Libraries/fishhook/React-fishhook.podspec | 2 +- RNTester/Podfile | 28 ++++++++- RNTester/Podfile.lock | 63 +++++++++---------- .../RNTester_macOS.entitlements | 0 .../RNTesterPods.xcodeproj/project.pbxproj | 33 ++++++++++ React.podspec | 2 +- React/React-Core.podspec | 2 +- React/React-DevSupport.podspec | 2 +- ReactCommon/cxxreact/React-cxxreact.podspec | 2 +- .../jscallinvoker/React-jscallinvoker.podspec | 2 +- ReactCommon/jsi/React-jsi.podspec | 2 +- .../jsiexecutor/React-jsiexecutor.podspec | 2 +- .../jsinspector/React-jsinspector.podspec | 2 +- .../core/React-turbomodule-core.podspec | 2 +- .../samples/React-turbomodule-samples.podspec | 2 +- ReactCommon/yoga/yoga.podspec | 2 +- scripts/autolink-ios.rb | 1 + third-party-podspecs/DoubleConversion.podspec | 2 +- third-party-podspecs/Folly.podspec | 2 +- .../boost-for-react-native.podspec | 19 ++++++ third-party-podspecs/glog.podspec | 2 +- 32 files changed, 136 insertions(+), 60 deletions(-) create mode 100644 RNTester/RNTester-macOS/RNTester_macOS.entitlements create mode 100644 third-party-podspecs/boost-for-react-native.podspec diff --git a/Libraries/ART/React-ART.podspec b/Libraries/ART/React-ART.podspec index c7bd0d259b8376..61036a97e4d378 100644 --- a/Libraries/ART/React-ART.podspec +++ b/Libraries/ART/React-ART.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "**/*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec index 9cc25ab1e7501a..32c9f38025f3b4 100644 --- a/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +++ b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/actionsheetios" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Blob/React-RCTBlob.podspec b/Libraries/Blob/React-RCTBlob.podspec index 55ab585abd88ea..2f357b46ad517c 100644 --- a/Libraries/Blob/React-RCTBlob.podspec +++ b/Libraries/Blob/React-RCTBlob.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m,mm}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Image/React-RCTImage.podspec b/Libraries/Image/React-RCTImage.podspec index 01ee7fb7cdf826..f2245ccce56d45 100644 --- a/Libraries/Image/React-RCTImage.podspec +++ b/Libraries/Image/React-RCTImage.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/image" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/LinkingIOS/React-RCTLinking.podspec b/Libraries/LinkingIOS/React-RCTLinking.podspec index e111a64a23e302..fbeb5d6825b526 100644 --- a/Libraries/LinkingIOS/React-RCTLinking.podspec +++ b/Libraries/LinkingIOS/React-RCTLinking.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/linking" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/NativeAnimation/React-RCTAnimation.podspec b/Libraries/NativeAnimation/React-RCTAnimation.podspec index ddab24fba42b04..78e282c09eeb27 100644 --- a/Libraries/NativeAnimation/React-RCTAnimation.podspec +++ b/Libraries/NativeAnimation/React-RCTAnimation.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "{Drivers/*,Nodes/*,*}.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Network/React-RCTNetwork.podspec b/Libraries/Network/React-RCTNetwork.podspec index 17797985e7c641..bff6abd87f645d 100644 --- a/Libraries/Network/React-RCTNetwork.podspec +++ b/Libraries/Network/React-RCTNetwork.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m,mm}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Settings/React-RCTSettings.podspec b/Libraries/Settings/React-RCTSettings.podspec index 05463e4b714777..a45bac020def25 100644 --- a/Libraries/Settings/React-RCTSettings.podspec +++ b/Libraries/Settings/React-RCTSettings.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/settings" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Text/React-RCTText.podspec b/Libraries/Text/React-RCTText.podspec index 23072496b6c85e..0e15f9d70d034d 100644 --- a/Libraries/Text/React-RCTText.podspec +++ b/Libraries/Text/React-RCTText.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/text" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "**/*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Vibration/React-RCTVibration.podspec b/Libraries/Vibration/React-RCTVibration.podspec index e4df901ac533df..0dba6c12c881a5 100644 --- a/Libraries/Vibration/React-RCTVibration.podspec +++ b/Libraries/Vibration/React-RCTVibration.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/vibration" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/WebSocket/React-RCTWebSocket.podspec b/Libraries/WebSocket/React-RCTWebSocket.podspec index a1abfd7f1362e9..347521c1c15e78 100644 --- a/Libraries/WebSocket/React-RCTWebSocket.podspec +++ b/Libraries/WebSocket/React-RCTWebSocket.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/network#websocket-support" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}", "Libraries/fishhook/*.{h,c}" diff --git a/Libraries/fishhook/React-fishhook.podspec b/Libraries/fishhook/React-fishhook.podspec index e720220ab14ffc..e6f2d3cbbe89e0 100644 --- a/Libraries/fishhook/React-fishhook.podspec +++ b/Libraries/fishhook/React-fishhook.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{c,h}" s.header_dir = "fishhook" diff --git a/RNTester/Podfile b/RNTester/Podfile index ea8db177172cb6..b663a43d580146 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -35,11 +35,14 @@ end source 'https://cdn.cocoapods.org/' -platform :ios, '9.0' - require_relative '../scripts/autolink-ios' +# Otherwise duplicate UUIDs are being generated between the iOS and macOS targets. +# FIXME: https://github.com/microsoft/react-native/issues/210 +install! 'cocoapods', :deterministic_uuids => false + target 'RNTester' do + platform :ios, '9.0' # Uncomment for Swift # use_frameworks! @@ -59,3 +62,24 @@ target 'RNTester' do # To use fabric: add `fabric_enabled` option to the use_react_native method above, like below # use_react_native!(path: "..", turbo_modules_enabled: true, fabric_enabled: true) end + +target 'RNTester-macOS' do + platform :osx, '10.14' + # Uncomment for Swift + # use_frameworks! + + project 'RNTesterPods.xcodeproj' + + # Enable TurboModule + use_react_native!(path: "..", turbo_modules_enabled: true) + pod 'React-turbomodule-samples', :path => '../ReactCommon/turbomodule/samples' + + # Additional Pods which aren't included in the default Podfile + pod 'React-ART', :path => '../Libraries/ART' + # pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' + + # Additional Pods which are classed as unstable + # + # To use fabric: add `fabric_enabled` option to the use_react_native method above, like below + # use_react_native!(path: "..", turbo_modules_enabled: true, fabric_enabled: true) +end diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 448aa4fe9f728e..f8a92399eee868 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -120,6 +120,7 @@ PODS: - yoga (1000.0.0.React) DEPENDENCIES: + - boost-for-react-native (from `../third-party-podspecs/boost-for-react-native.podspec`) - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - Folly (from `../third-party-podspecs/Folly.podspec`) - glog (from `../third-party-podspecs/glog.podspec`) @@ -149,11 +150,9 @@ DEPENDENCIES: - React-turbomodule-samples (from `../ReactCommon/turbomodule/samples`) - yoga (from `../ReactCommon/yoga`) -SPEC REPOS: - https://cdn.cocoapods.org/: - - boost-for-react-native - EXTERNAL SOURCES: + boost-for-react-native: + :podspec: "../third-party-podspecs/boost-for-react-native.podspec" DoubleConversion: :podspec: "../third-party-podspecs/DoubleConversion.podspec" Folly: @@ -212,36 +211,36 @@ EXTERNAL SOURCES: :path: "../ReactCommon/yoga" SPEC CHECKSUMS: - boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 - Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 - glog: 1f3da668190260b06b429bb211bfbee5cd790c28 - React: 90525e0418f1344a37cd3153a1ae60c85d07237d - React-ART: b68b1bb10eac98b425561bbb8e9ca04927dc767b - React-Core: f4c91767b26930d46b9bded8b0a1f752e57c7042 - React-cxxreact: a570317cb3cc2767f48000037265f6bfd8e8598c - React-DevSupport: a89903ccfccc3310afe3c1e55162a413ab034712 - React-fishhook: 7659111ba87ec08fd64255593517e7120b2a9547 - React-jscallinvoker: 4d91f1d60b861b10f4c69e5ef2489c0f4ca9e811 - React-jsi: 7102afd8cc050c6ff25ae945f2f15cdcb4ed0fd7 - React-jsiexecutor: 233645af3dcb019be76d651d6e9595ca4496d7de - React-jsinspector: 0d86a7a746f2596735b4ad00f7de3bb6583a78b6 - React-RCTActionSheet: ac6b8fa35d816b6cab00d355f548d1f3608fb8ce - React-RCTAnimation: a8a0281d60b89cfd127df889b543d3d25de78e03 - React-RCTBlob: b14b3a2a96bf68b3e6657afe5e342db982eafa30 + boost-for-react-native: a110407d9db2642fd2e1bcd7c5a51c81f2521dc9 + DoubleConversion: a1bc12a74baa397a2609e0f10e19b8062d864053 + Folly: feff29ba9d0b7c2e4f793a94942831d6cc5bbad7 + glog: b3f6d74f3e2d33396addc0ee724d2b2b79fc3e00 + React: 74861516f70acbdca7b2548aa557bf8deee9698d + React-ART: 08abf61755c11f2adbc78ae6e2f5b087a403a677 + React-Core: 564a4df03142b62dc2be0c63ab199dadf21e788e + React-cxxreact: 3e49ca16e0117d19b859450041c7fe4dc9296399 + React-DevSupport: 91d8812ad81fbfa8084b06e131e3d80087c665e9 + React-fishhook: 1a55e7b86dcab2d0e0db1268681365c3f5eefe0a + React-jscallinvoker: f84d92e0e70a0f8a04907d0682a7c58533708b67 + React-jsi: 87033eb3052f4e6b8bf54af32c8f0a29ffbec13c + React-jsiexecutor: 9af31e4fb3c7157d6437d11a4686974ffd5310b7 + React-jsinspector: bd0f3d1d100ec90008bdceeecc3b2ccde15f349c + React-RCTActionSheet: c3adb7754a32492fc5e0bcaf2395221006588b6b + React-RCTAnimation: ed93d0ae9533f117e0512738338c4c8479a8925e + React-RCTBlob: f4387573b7c109b6feed2f7b6453cf326854bfdc React-RCTCameraRoll: bb4e89e505fddd8a48c76db827e3e43b23b437e3 - React-RCTImage: a25d418a77b25c915742f2e6bf3c76d47f5148c8 - React-RCTLinking: 39f07f20199693080626617d3f325a89f975f1a4 - React-RCTNetwork: 226ed1a90335561046030ce0c5b408e569508694 + React-RCTImage: 841010ce5a7a0eb96bc3f22659560a176a254fc9 + React-RCTLinking: 1b42a8c34847bf8a5bc363db2ef78879f37c2639 + React-RCTNetwork: b7bf49cc581752158e8aeee3e9aae83ab61fbcd0 React-RCTPushNotification: 4e2f1425df2135cc87e44402d07432a98a5637fb - React-RCTSettings: 7f7114c4eb845032be3bd5245ed3d306d06ae5eb - React-RCTText: 709d42db0b10f398d8796d7d665392f4ea831fe5 - React-RCTVibration: 85bd64221f0f5e918dd83c2f90cb96f89dc0a49d - React-RCTWebSocket: e1c9aaa85aac0c97d90095f509215adbf5a6104f - React-turbomodule-core: 9b98fcff0ab628486af1f7e660f1b49556230282 - React-turbomodule-samples: 9a1d520489c1cd337c5e8714b6b80f6772586a7c - yoga: 465ed50746ee55b6073ba80c39ae6aed457b500a + React-RCTSettings: 1ad264bf310d7cf7f2b29c94836b84e5a0ca1561 + React-RCTText: fc8369e3ce7c9a474efc539d84b4f9bdc921bc0a + React-RCTVibration: d9a3da17bd5d3f4d8b57a40e3e7fb842f7e62694 + React-RCTWebSocket: 7bb0868fafa9e8ed961a8f87879e2d2bf7946b3d + React-turbomodule-core: 970dd38c0e59a09b5919e0a097abdd099c4ae9a7 + React-turbomodule-samples: 4d9081847444fe313ac06bb6ec604c35e49ba8c7 + yoga: fb23117669f477b0f4b3849d6999414cba0c69b7 -PODFILE CHECKSUM: e5503e6ee378aa045f62c2d8df8d7f93a83152d6 +PODFILE CHECKSUM: 536f6557721c0dbe581d706361d5f80217598546 COCOAPODS: 1.8.4 diff --git a/RNTester/RNTester-macOS/RNTester_macOS.entitlements b/RNTester/RNTester-macOS/RNTester_macOS.entitlements new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 1acd2dfcb7f1f7..edac70ba44fc0b 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -25,6 +25,7 @@ 9F153467233AB2C7006DFE44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F153466233AB2C7006DFE44 /* main.m */; }; 9F153472233AB2C7006DFE44 /* RNTester_macOSTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F153471233AB2C7006DFE44 /* RNTester_macOSTests.m */; }; 9F15347D233AB2C7006DFE44 /* RNTester_macOSUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F15347C233AB2C7006DFE44 /* RNTester_macOSUITests.m */; }; + A13DC98BDCE5EE508FFA7BE7 /* libPods-RNTester-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A355204268D03CF69ABC11D /* libPods-RNTester-macOS.a */; }; B9C5BB1881F54450DBCA70F5 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */; }; /* End PBXBuildFile section */ @@ -53,6 +54,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 0A355204268D03CF69ABC11D /* libPods-RNTester-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07F961A680F5B00A75B9A /* RNTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RNTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RNTester/AppDelegate.h; sourceTree = ""; }; 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; @@ -62,6 +64,7 @@ 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UpdatePropertiesExampleView.m; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.m; sourceTree = ""; }; 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FlexibleSizeExampleView.m; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.m; sourceTree = ""; }; 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FlexibleSizeExampleView.h; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.h; sourceTree = ""; }; + 2BE07A0C310D8A03C00D6F07 /* Pods-RNTester-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester-macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester-macOS/Pods-RNTester-macOS.debug.xcconfig"; sourceTree = ""; }; 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RNTester/Images.xcassets; sourceTree = ""; }; 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 3D13F8401D6F6AE000E69E0E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; @@ -75,6 +78,7 @@ 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentRegistry.cpp; sourceTree = ""; }; 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.debug.xcconfig"; sourceTree = ""; }; + 9AED879F1A9397646A861A9F /* Pods-RNTester-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester-macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester-macOS/Pods-RNTester-macOS.release.xcconfig"; sourceTree = ""; }; 9F15345B233AB2C4006DFE44 /* RNTester-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RNTester-macOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 9F15345D233AB2C4006DFE44 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 9F15345E233AB2C4006DFE44 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -111,6 +115,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A13DC98BDCE5EE508FFA7BE7 /* libPods-RNTester-macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -172,6 +177,7 @@ isa = PBXGroup; children = ( 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */, + 0A355204268D03CF69ABC11D /* libPods-RNTester-macOS.a */, ); name = Frameworks; sourceTree = ""; @@ -192,6 +198,8 @@ children = ( 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */, 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */, + 2BE07A0C310D8A03C00D6F07 /* Pods-RNTester-macOS.debug.xcconfig */, + 9AED879F1A9397646A861A9F /* Pods-RNTester-macOS.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -310,6 +318,7 @@ isa = PBXNativeTarget; buildConfigurationList = 9F153485233AB2C7006DFE44 /* Build configuration list for PBXNativeTarget "RNTester-macOS" */; buildPhases = ( + 26ED73F8C59C75926FA607C9 /* [CP] Check Pods Manifest.lock */, 9F153457233AB2C4006DFE44 /* Sources */, 9F153458233AB2C4006DFE44 /* Frameworks */, 9F153459233AB2C4006DFE44 /* Resources */, @@ -463,6 +472,28 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 26ED73F8C59C75926FA607C9 /* [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-RNTester-macOS-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; + }; 5CF0FD27207FC6EC00C13D65 /* Start Metro */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -880,6 +911,7 @@ }; 9F15347F233AB2C7006DFE44 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 2BE07A0C310D8A03C00D6F07 /* Pods-RNTester-macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -905,6 +937,7 @@ }; 9F153480233AB2C7006DFE44 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9AED879F1A9397646A861A9F /* Pods-RNTester-macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; diff --git a/React.podspec b/React.podspec index 935b00d2ffba5d..d069f8142a9462 100644 --- a/React.podspec +++ b/React.podspec @@ -37,7 +37,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" s.cocoapods_version = ">= 1.2.0" diff --git a/React/React-Core.podspec b/React/React-Core.podspec index 4adf6fb0c1db30..6ea3efa316c1ab 100644 --- a/React/React-Core.podspec +++ b/React/React-Core.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "**/*.{c,h,m,mm,S,cpp}" s.exclude_files = "DevSupport/**/*", diff --git a/React/React-DevSupport.podspec b/React/React-DevSupport.podspec index 0f9405fb942851..4a8a3c6ab23b28 100644 --- a/React/React-DevSupport.podspec +++ b/React/React-DevSupport.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "DevSupport/*", "Inspector/*" diff --git a/ReactCommon/cxxreact/React-cxxreact.podspec b/ReactCommon/cxxreact/React-cxxreact.podspec index 0f5c590548f9ac..260c25f38a2481 100644 --- a/ReactCommon/cxxreact/React-cxxreact.podspec +++ b/ReactCommon/cxxreact/React-cxxreact.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{cpp,h}" s.exclude_files = "SampleCxxModule.*", diff --git a/ReactCommon/jscallinvoker/React-jscallinvoker.podspec b/ReactCommon/jscallinvoker/React-jscallinvoker.podspec index 335e59929b82fd..d8a32e9065438c 100644 --- a/ReactCommon/jscallinvoker/React-jscallinvoker.podspec +++ b/ReactCommon/jscallinvoker/React-jscallinvoker.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "jsireact/*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/jsi/React-jsi.podspec b/ReactCommon/jsi/React-jsi.podspec index c22c69107d4ca3..6d21d576abbaae 100644 --- a/ReactCommon/jsi/React-jsi.podspec +++ b/ReactCommon/jsi/React-jsi.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "**/*.{cpp,h}" s.exclude_files = "**/test/*" diff --git a/ReactCommon/jsiexecutor/React-jsiexecutor.podspec b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec index 6ee7e3c9067643..42d0b583a0a774 100644 --- a/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +++ b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "jsireact/*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/jsinspector/React-jsinspector.podspec b/ReactCommon/jsinspector/React-jsinspector.podspec index 63db57a4900717..ff57fd3ca9a4d5 100644 --- a/ReactCommon/jsinspector/React-jsinspector.podspec +++ b/ReactCommon/jsinspector/React-jsinspector.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{cpp,h}" s.header_dir = 'jsinspector' diff --git a/ReactCommon/turbomodule/core/React-turbomodule-core.podspec b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec index cf977904801ba9..c52dd1d4155efc 100644 --- a/ReactCommon/turbomodule/core/React-turbomodule-core.podspec +++ b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec b/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec index bb78229014d1a0..d8beec362ce492 100644 --- a/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec +++ b/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/yoga/yoga.podspec b/ReactCommon/yoga/yoga.podspec index fd17f019cd4176..9baa4e2e36358a 100644 --- a/ReactCommon/yoga/yoga.podspec +++ b/ReactCommon/yoga/yoga.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |spec| ] # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # 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/scripts/autolink-ios.rb b/scripts/autolink-ios.rb index 21dd1b927096b7..df792eb01f35d1 100644 --- a/scripts/autolink-ios.rb +++ b/scripts/autolink-ios.rb @@ -41,6 +41,7 @@ def use_react_native! (options={}) pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec" pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec" pod 'Folly', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec" + pod 'boost-for-react-native', :podspec => "#{prefix}/third-party-podspecs/boost-for-react-native.podspec" if fabric_enabled pod 'React-Fabric', :path => "#{prefix}/ReactCommon" diff --git a/third-party-podspecs/DoubleConversion.podspec b/third-party-podspecs/DoubleConversion.podspec index 344e224a649e6f..4f2c9bea3ff3f7 100644 --- a/third-party-podspecs/DoubleConversion.podspec +++ b/third-party-podspecs/DoubleConversion.podspec @@ -19,6 +19,6 @@ Pod::Spec.new do |spec| spec.compiler_flags = '-Wno-unreachable-code' # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } end diff --git a/third-party-podspecs/Folly.podspec b/third-party-podspecs/Folly.podspec index e601da88b6dab8..5cfdd53a032a43 100644 --- a/third-party-podspecs/Folly.podspec +++ b/third-party-podspecs/Folly.podspec @@ -71,5 +71,5 @@ Pod::Spec.new do |spec| end # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } end \ No newline at end of file diff --git a/third-party-podspecs/boost-for-react-native.podspec b/third-party-podspecs/boost-for-react-native.podspec new file mode 100644 index 00000000000000..37e18e4afc03a4 --- /dev/null +++ b/third-party-podspecs/boost-for-react-native.podspec @@ -0,0 +1,19 @@ +Pod::Spec.new do |spec| + spec.name = 'boost-for-react-native' + spec.version = '1.63.0' + spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" } + spec.homepage = 'http://www.boost.org' + spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' + spec.authors = 'Rene Rivera' + spec.source = { :git => 'https://github.com/react-native-community/boost-for-react-native.git', + :tag => 'v1.63.0-0' } + + # Pinning to the same version as React.podspec. + # TODO: Move this osx addition back upstream to https://github.com/react-native-community/boost-for-react-native + spec.platforms = { :ios => '8.0', :tvos => '9.2', :osx => "10.14" } + spec.requires_arc = false + + spec.module_name = 'boost' + spec.header_dir = 'boost' + spec.preserve_path = 'boost' +end diff --git a/third-party-podspecs/glog.podspec b/third-party-podspecs/glog.podspec index d814e367f36148..3c3665c1a35f32 100644 --- a/third-party-podspecs/glog.podspec +++ b/third-party-podspecs/glog.podspec @@ -34,6 +34,6 @@ Pod::Spec.new do |spec| "HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src" } # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } end From e8e8aafd31c0882bffba5802bf9e53925a66c61e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 15:17:53 -0800 Subject: [PATCH 04/16] [RNTester] Add notifications pod to macOS target --- Libraries/PushNotificationIOS/React-RCTPushNotification.podspec | 2 +- RNTester/Podfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec index da20c0e2f6422d..03c1a045dfa661 100644 --- a/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +++ b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/pushnotificationios" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/RNTester/Podfile b/RNTester/Podfile index b663a43d580146..6af8d6e9b9a5fd 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -76,7 +76,7 @@ target 'RNTester-macOS' do # Additional Pods which aren't included in the default Podfile pod 'React-ART', :path => '../Libraries/ART' - # pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' + pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' # Additional Pods which are classed as unstable # From ec692b9ea14f271614b424faf1da1ec62c9fcd61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 15:18:17 -0800 Subject: [PATCH 05/16] [CocoaPods] Make RCTText pod build for macOS --- Libraries/Text/React-RCTText.podspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Libraries/Text/React-RCTText.podspec b/Libraries/Text/React-RCTText.podspec index 0e15f9d70d034d..d7592f91f89c5d 100644 --- a/Libraries/Text/React-RCTText.podspec +++ b/Libraries/Text/React-RCTText.podspec @@ -32,4 +32,6 @@ Pod::Spec.new do |s| s.header_dir = "React" s.dependency "React-Core", version + + s.osx.exclude_files = "TextInput/RCTInputAccessoryView*.{h,m}" end From d1329db4886beda2951ed9e01f5251b4962a1ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 15:22:16 -0800 Subject: [PATCH 06/16] [CocoaPods] make RCTLinking pod build for macOS --- Libraries/LinkingIOS/React-RCTLinking.podspec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Libraries/LinkingIOS/React-RCTLinking.podspec b/Libraries/LinkingIOS/React-RCTLinking.podspec index fbeb5d6825b526..385034689a9ed6 100644 --- a/Libraries/LinkingIOS/React-RCTLinking.podspec +++ b/Libraries/LinkingIOS/React-RCTLinking.podspec @@ -32,4 +32,7 @@ Pod::Spec.new do |s| s.header_dir = "React" s.dependency "React-Core", version + + s.osx.exclude_files = "RCTLinkingManager.m" + s.osx.source_files = "macos/RCTLinkingManager.m" end From dc0a9709ca5a4e69b21933ef38c6d697ac3ff18d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 16:43:51 -0800 Subject: [PATCH 07/16] [CocoaPods] Exclude more files from RCTText pod --- Libraries/Text/React-RCTText.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/Text/React-RCTText.podspec b/Libraries/Text/React-RCTText.podspec index d7592f91f89c5d..3fb4dda4cda0b0 100644 --- a/Libraries/Text/React-RCTText.podspec +++ b/Libraries/Text/React-RCTText.podspec @@ -33,5 +33,5 @@ Pod::Spec.new do |s| s.dependency "React-Core", version - s.osx.exclude_files = "TextInput/RCTInputAccessoryView*.{h,m}" + s.osx.exclude_files = "TextInput/RCTInputAccessory{,Shadow}View*.{h,m}" end From 1d05a5676b51932bb10873e2017d500a5fd60bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 16:47:10 -0800 Subject: [PATCH 08/16] [CocoaPods] Make Core pod build for macOS --- React/React-Core.podspec | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/React/React-Core.podspec b/React/React-Core.podspec index 6ea3efa316c1ab..e81fb41d68f6f8 100644 --- a/React/React-Core.podspec +++ b/React/React-Core.podspec @@ -35,9 +35,21 @@ Pod::Spec.new do |s| "Fabric/**/*", "Inspector/**/*" s.ios.exclude_files = "**/RCTTV*.*", -# Microsoft CocoaPod Support - "**/MacOS/*" -# Microsoft CocoaPod Support +# Microsoft CocoaPods Support + "**/MacOS/*" + s.osx.exclude_files = "Modules/RCTRedBoxExtraDataViewController.{h,m}", + "Modules/RCTStatusBarManager.*", + "UIUtils/*", + "Profiler/{RCTFPSGraph,RCTPerfMonitor}.*", + "Profiler/RCTProfileTrampoline-{arm,arm64,i386}.S", + "Base/{RCTPlatform,RCTKeyCommands}.*", + "Base/Surface/SurfaceHostingView/*", + "Base/Surface/RCTSurface{,Delegate,Root*}.*", + "Base/RCTTV*.*", + "Base/RCTReloadCommand.*", + "Views/{RCTModal*,RCTMasked*,RCTTV*,RCTRefreshControl*,RCTWrapperViewController}.*", + "Views/SafeAreaView/*" +# Microsoft CocoaPods Support s.tvos.exclude_files = "Modules/RCTClipboard*", "Views/RCTDatePicker*", "Views/RCTPicker*", From ab45a68cd9c273941070b9652dc7f5686dbdf855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 16:47:35 -0800 Subject: [PATCH 09/16] [CocoaPods] Exclude turbomodule sample from macOS --- RNTester/Podfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RNTester/Podfile b/RNTester/Podfile index 6af8d6e9b9a5fd..0345504acfca9e 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -72,7 +72,7 @@ target 'RNTester-macOS' do # Enable TurboModule use_react_native!(path: "..", turbo_modules_enabled: true) - pod 'React-turbomodule-samples', :path => '../ReactCommon/turbomodule/samples' + # pod 'React-turbomodule-samples', :path => '../ReactCommon/turbomodule/samples' # Additional Pods which aren't included in the default Podfile pod 'React-ART', :path => '../Libraries/ART' From b2552fe2488e5a3def0fe03bd5a96202944cdded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 16:48:14 -0800 Subject: [PATCH 10/16] [RNTester] Update CocoaPods artefact --- RNTester/Podfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index f8a92399eee868..78c5dc17824e1a 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -217,7 +217,7 @@ SPEC CHECKSUMS: glog: b3f6d74f3e2d33396addc0ee724d2b2b79fc3e00 React: 74861516f70acbdca7b2548aa557bf8deee9698d React-ART: 08abf61755c11f2adbc78ae6e2f5b087a403a677 - React-Core: 564a4df03142b62dc2be0c63ab199dadf21e788e + React-Core: aa142862b5ebdf94e003787e22417865e1c1016c React-cxxreact: 3e49ca16e0117d19b859450041c7fe4dc9296399 React-DevSupport: 91d8812ad81fbfa8084b06e131e3d80087c665e9 React-fishhook: 1a55e7b86dcab2d0e0db1268681365c3f5eefe0a @@ -230,17 +230,17 @@ SPEC CHECKSUMS: React-RCTBlob: f4387573b7c109b6feed2f7b6453cf326854bfdc React-RCTCameraRoll: bb4e89e505fddd8a48c76db827e3e43b23b437e3 React-RCTImage: 841010ce5a7a0eb96bc3f22659560a176a254fc9 - React-RCTLinking: 1b42a8c34847bf8a5bc363db2ef78879f37c2639 + React-RCTLinking: 4fe50097a4d8c9649b25fd6639257aa475530656 React-RCTNetwork: b7bf49cc581752158e8aeee3e9aae83ab61fbcd0 - React-RCTPushNotification: 4e2f1425df2135cc87e44402d07432a98a5637fb + React-RCTPushNotification: 79cbb2aaf51f65b94e844c876f462ec07be33ac5 React-RCTSettings: 1ad264bf310d7cf7f2b29c94836b84e5a0ca1561 - React-RCTText: fc8369e3ce7c9a474efc539d84b4f9bdc921bc0a + React-RCTText: 21e57ebc1cc19db1b74cf40280c3a0360f760dcb React-RCTVibration: d9a3da17bd5d3f4d8b57a40e3e7fb842f7e62694 React-RCTWebSocket: 7bb0868fafa9e8ed961a8f87879e2d2bf7946b3d React-turbomodule-core: 970dd38c0e59a09b5919e0a097abdd099c4ae9a7 React-turbomodule-samples: 4d9081847444fe313ac06bb6ec604c35e49ba8c7 yoga: fb23117669f477b0f4b3849d6999414cba0c69b7 -PODFILE CHECKSUM: 536f6557721c0dbe581d706361d5f80217598546 +PODFILE CHECKSUM: bea89da68cd123089a0dc47c3aaaf6cfed3115d4 COCOAPODS: 1.8.4 From 6ceb780b2ac9d52461ce1d6809452491a24c5c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 20 Dec 2019 16:48:50 -0800 Subject: [PATCH 11/16] [RNTester] Update macOS target to follow non-pods version --- .../RNTesterPods.xcodeproj/project.pbxproj | 151 +++++++++++++++++- 1 file changed, 144 insertions(+), 7 deletions(-) diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index edac70ba44fc0b..9285ca3432e9a8 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -16,12 +16,17 @@ 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */; }; 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; 3D56F9F11D6F6E9B00F53A06 /* RNTesterBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; }; + 5101985723AD9EE600118BF1 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5101985523AD9EE600118BF1 /* Main.storyboard */; }; + 5101985A23AD9F5B00118BF1 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5101985923AD9F5B00118BF1 /* ViewController.m */; }; + 5101985B23ADA00B00118BF1 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; + 5101986823ADA13C00118BF1 /* ImageInBundle.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */; }; + 5101986923ADA13C00118BF1 /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */; }; + 5101986A23ADA15700118BF1 /* RNTesterBundle-macOS.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 5101986223ADA0FC00118BF1 /* RNTesterBundle-macOS.bundle */; }; 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; }; 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */; }; 68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */; }; 9F15345F233AB2C4006DFE44 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F15345E233AB2C4006DFE44 /* AppDelegate.m */; }; 9F153461233AB2C7006DFE44 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9F153460233AB2C7006DFE44 /* Assets.xcassets */; }; - 9F153464233AB2C7006DFE44 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9F153462233AB2C7006DFE44 /* MainMenu.xib */; }; 9F153467233AB2C7006DFE44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F153466233AB2C7006DFE44 /* main.m */; }; 9F153472233AB2C7006DFE44 /* RNTester_macOSTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F153471233AB2C7006DFE44 /* RNTester_macOSTests.m */; }; 9F15347D233AB2C7006DFE44 /* RNTester_macOSUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F15347C233AB2C7006DFE44 /* RNTester_macOSUITests.m */; }; @@ -37,6 +42,13 @@ remoteGlobalIDString = 3D13F83D1D6F6AE000E69E0E; remoteInfo = RNTesterBundle; }; + 5101986B23ADA17000118BF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5101986123ADA0FC00118BF1; + remoteInfo = "RNTesterBundle-macOS"; + }; 9F15346E233AB2C7006DFE44 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -71,6 +83,11 @@ 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageInBundle.png; sourceTree = ""; }; 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OtherImages.xcassets; sourceTree = ""; }; 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = ""; }; + 5101985623AD9EE600118BF1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 5101985823AD9F5B00118BF1 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 5101985923AD9F5B00118BF1 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 5101986223ADA0FC00118BF1 /* RNTesterBundle-macOS.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RNTesterBundle-macOS.bundle"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5101986423ADA0FC00118BF1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = ""; }; 5C60EB1B226440DB0018C04F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = ""; }; 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RNTesterTurboModuleProvider.mm; path = RNTester/RNTesterTurboModuleProvider.mm; sourceTree = ""; }; @@ -83,7 +100,6 @@ 9F15345D233AB2C4006DFE44 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 9F15345E233AB2C4006DFE44 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 9F153460233AB2C7006DFE44 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 9F153463233AB2C7006DFE44 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; 9F153465233AB2C7006DFE44 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9F153466233AB2C7006DFE44 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 9F153468233AB2C7006DFE44 /* RNTester_macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RNTester_macOS.entitlements; sourceTree = ""; }; @@ -111,6 +127,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5101985F23ADA0FC00118BF1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9F153458233AB2C4006DFE44 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -193,6 +216,14 @@ path = RNTester/RNTesterBundle; sourceTree = ""; }; + 5101986323ADA0FC00118BF1 /* RNTesterBundle-macOS */ = { + isa = PBXGroup; + children = ( + 5101986423ADA0FC00118BF1 /* Info.plist */, + ); + path = "RNTesterBundle-macOS"; + sourceTree = ""; + }; 571A4A20844C3BA40A3D302B /* Pods */ = { isa = PBXGroup; children = ( @@ -220,6 +251,7 @@ 9F15345C233AB2C4006DFE44 /* RNTester-macOS */, 9F153470233AB2C7006DFE44 /* RNTester-macOSTests */, 9F15347B233AB2C7006DFE44 /* RNTester-macOSUITests */, + 5101986323ADA0FC00118BF1 /* RNTesterBundle-macOS */, 83CBBA001A601CBA00E9B192 /* Products */, 2DE7E7D81FB2A4F3009E225D /* Frameworks */, 571A4A20844C3BA40A3D302B /* Pods */, @@ -237,6 +269,7 @@ 9F15345B233AB2C4006DFE44 /* RNTester-macOS.app */, 9F15346D233AB2C7006DFE44 /* RNTester-macOSTests.xctest */, 9F153478233AB2C7006DFE44 /* RNTester-macOSUITests.xctest */, + 5101986223ADA0FC00118BF1 /* RNTesterBundle-macOS.bundle */, ); name = Products; sourceTree = ""; @@ -244,10 +277,12 @@ 9F15345C233AB2C4006DFE44 /* RNTester-macOS */ = { isa = PBXGroup; children = ( + 5101985523AD9EE600118BF1 /* Main.storyboard */, 9F15345D233AB2C4006DFE44 /* AppDelegate.h */, 9F15345E233AB2C4006DFE44 /* AppDelegate.m */, + 5101985823AD9F5B00118BF1 /* ViewController.h */, + 5101985923AD9F5B00118BF1 /* ViewController.m */, 9F153460233AB2C7006DFE44 /* Assets.xcassets */, - 9F153462233AB2C7006DFE44 /* MainMenu.xib */, 9F153465233AB2C7006DFE44 /* Info.plist */, 9F153466233AB2C7006DFE44 /* main.m */, 9F153468233AB2C7006DFE44 /* RNTester_macOS.entitlements */, @@ -314,6 +349,23 @@ productReference = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; productType = "com.apple.product-type.bundle"; }; + 5101986123ADA0FC00118BF1 /* RNTesterBundle-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5101986523ADA0FC00118BF1 /* Build configuration list for PBXNativeTarget "RNTesterBundle-macOS" */; + buildPhases = ( + 5101985E23ADA0FC00118BF1 /* Sources */, + 5101985F23ADA0FC00118BF1 /* Frameworks */, + 5101986023ADA0FC00118BF1 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RNTesterBundle-macOS"; + productName = "RNTesterBundle-macOS"; + productReference = 5101986223ADA0FC00118BF1 /* RNTesterBundle-macOS.bundle */; + productType = "com.apple.product-type.bundle"; + }; 9F15345A233AB2C4006DFE44 /* RNTester-macOS */ = { isa = PBXNativeTarget; buildConfigurationList = 9F153485233AB2C7006DFE44 /* Build configuration list for PBXNativeTarget "RNTester-macOS" */; @@ -326,6 +378,7 @@ buildRules = ( ); dependencies = ( + 5101986C23ADA17000118BF1 /* PBXTargetDependency */, ); name = "RNTester-macOS"; productName = "RNTester-macOS"; @@ -383,6 +436,10 @@ 3D13F83D1D6F6AE000E69E0E = { CreatedOnToolsVersion = 7.3.1; }; + 5101986123ADA0FC00118BF1 = { + CreatedOnToolsVersion = 11.2.1; + ProvisioningStyle = Automatic; + }; 9F15345A233AB2C4006DFE44 = { CreatedOnToolsVersion = 11.0; DevelopmentTeam = UBF8T346G9; @@ -421,6 +478,7 @@ 9F15345A233AB2C4006DFE44 /* RNTester-macOS */, 9F15346C233AB2C7006DFE44 /* RNTester-macOSTests */, 9F153477233AB2C7006DFE44 /* RNTester-macOSUITests */, + 5101986123ADA0FC00118BF1 /* RNTesterBundle-macOS */, ); }; /* End PBXProject section */ @@ -446,12 +504,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5101986023ADA0FC00118BF1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5101986823ADA13C00118BF1 /* ImageInBundle.png in Resources */, + 5101986923ADA13C00118BF1 /* OtherImages.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9F153459233AB2C4006DFE44 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5101986A23ADA15700118BF1 /* RNTesterBundle-macOS.bundle in Resources */, + 5101985B23ADA00B00118BF1 /* legacy_image@2x.png in Resources */, 9F153461233AB2C7006DFE44 /* Assets.xcassets in Resources */, - 9F153464233AB2C7006DFE44 /* MainMenu.xib in Resources */, + 5101985723AD9EE600118BF1 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -564,10 +633,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5101985E23ADA0FC00118BF1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9F153457233AB2C4006DFE44 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5101985A23AD9F5B00118BF1 /* ViewController.m in Sources */, 9F153467233AB2C7006DFE44 /* main.m in Sources */, 9F15345F233AB2C4006DFE44 /* AppDelegate.m in Sources */, ); @@ -597,6 +674,11 @@ target = 3D13F83D1D6F6AE000E69E0E /* RNTesterBundle */; targetProxy = 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */; }; + 5101986C23ADA17000118BF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5101986123ADA0FC00118BF1 /* RNTesterBundle-macOS */; + targetProxy = 5101986B23ADA17000118BF1 /* PBXContainerItemProxy */; + }; 9F15346F233AB2C7006DFE44 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 9F15345A233AB2C4006DFE44 /* RNTester-macOS */; @@ -619,12 +701,12 @@ path = RNTester; sourceTree = ""; }; - 9F153462233AB2C7006DFE44 /* MainMenu.xib */ = { + 5101985523AD9EE600118BF1 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 9F153463233AB2C7006DFE44 /* Base */, + 5101985623AD9EE600118BF1 /* Base */, ); - name = MainMenu.xib; + name = Main.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -756,6 +838,52 @@ }; name = Release; }; + 5101986623ADA0FC00118BF1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + INFOPLIST_FILE = "RNTesterBundle-macOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.RNTesterBundle-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 5101986723ADA0FC00118BF1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + INFOPLIST_FILE = "RNTesterBundle-macOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.RNTesterBundle-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; 83CBBA201A601CBA00E9B192 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1076,6 +1204,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 5101986523ADA0FC00118BF1 /* Build configuration list for PBXNativeTarget "RNTesterBundle-macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5101986623ADA0FC00118BF1 /* Debug */, + 5101986723ADA0FC00118BF1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */ = { isa = XCConfigurationList; buildConfigurations = ( From c48ab745ecc386b2e42e041a9d97a5bc8d150442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Mon, 6 Jan 2020 14:56:34 +0100 Subject: [PATCH 12/16] [CocoaPods] Tag all macOS changes to ease updating https://github.com/microsoft/react-native/issues/214 --- Libraries/ART/React-ART.podspec | 2 +- Libraries/ActionSheetIOS/React-RCTActionSheet.podspec | 2 +- Libraries/Blob/React-RCTBlob.podspec | 2 +- Libraries/Image/React-RCTImage.podspec | 2 +- Libraries/LinkingIOS/React-RCTLinking.podspec | 2 +- Libraries/NativeAnimation/React-RCTAnimation.podspec | 2 +- Libraries/Network/React-RCTNetwork.podspec | 2 +- .../PushNotificationIOS/React-RCTPushNotification.podspec | 2 +- Libraries/Settings/React-RCTSettings.podspec | 2 +- Libraries/Text/React-RCTText.podspec | 2 +- Libraries/Vibration/React-RCTVibration.podspec | 2 +- Libraries/WebSocket/React-RCTWebSocket.podspec | 2 +- Libraries/fishhook/React-fishhook.podspec | 2 +- RNTester/Podfile | 3 +++ RNTester/Podfile.lock | 2 +- React.podspec | 2 +- React/React-Core.podspec | 7 ++++--- React/React-DevSupport.podspec | 2 +- ReactCommon/cxxreact/React-cxxreact.podspec | 2 +- ReactCommon/jscallinvoker/React-jscallinvoker.podspec | 2 +- ReactCommon/jsi/React-jsi.podspec | 2 +- ReactCommon/jsiexecutor/React-jsiexecutor.podspec | 2 +- ReactCommon/jsinspector/React-jsinspector.podspec | 2 +- .../turbomodule/core/React-turbomodule-core.podspec | 2 +- .../turbomodule/samples/React-turbomodule-samples.podspec | 2 +- ReactCommon/yoga/yoga.podspec | 2 +- scripts/autolink-ios.rb | 2 ++ third-party-podspecs/DoubleConversion.podspec | 2 +- third-party-podspecs/Folly.podspec | 2 +- third-party-podspecs/boost-for-react-native.podspec | 1 + third-party-podspecs/glog.podspec | 2 +- 31 files changed, 37 insertions(+), 30 deletions(-) diff --git a/Libraries/ART/React-ART.podspec b/Libraries/ART/React-ART.podspec index 61036a97e4d378..8cf20a6e1199a8 100644 --- a/Libraries/ART/React-ART.podspec +++ b/Libraries/ART/React-ART.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "**/*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec index 32c9f38025f3b4..aff1f81e67b454 100644 --- a/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +++ b/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/actionsheetios" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Blob/React-RCTBlob.podspec b/Libraries/Blob/React-RCTBlob.podspec index 2f357b46ad517c..2f169737611bb0 100644 --- a/Libraries/Blob/React-RCTBlob.podspec +++ b/Libraries/Blob/React-RCTBlob.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m,mm}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Image/React-RCTImage.podspec b/Libraries/Image/React-RCTImage.podspec index f2245ccce56d45..977df3de528bc0 100644 --- a/Libraries/Image/React-RCTImage.podspec +++ b/Libraries/Image/React-RCTImage.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/image" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/LinkingIOS/React-RCTLinking.podspec b/Libraries/LinkingIOS/React-RCTLinking.podspec index 385034689a9ed6..bfb7fcd4bb2634 100644 --- a/Libraries/LinkingIOS/React-RCTLinking.podspec +++ b/Libraries/LinkingIOS/React-RCTLinking.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/linking" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/NativeAnimation/React-RCTAnimation.podspec b/Libraries/NativeAnimation/React-RCTAnimation.podspec index 78e282c09eeb27..67e0bc78e948b1 100644 --- a/Libraries/NativeAnimation/React-RCTAnimation.podspec +++ b/Libraries/NativeAnimation/React-RCTAnimation.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "{Drivers/*,Nodes/*,*}.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Network/React-RCTNetwork.podspec b/Libraries/Network/React-RCTNetwork.podspec index bff6abd87f645d..b63a97f6873cc7 100644 --- a/Libraries/Network/React-RCTNetwork.podspec +++ b/Libraries/Network/React-RCTNetwork.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m,mm}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec index 03c1a045dfa661..993505505f0916 100644 --- a/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +++ b/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/pushnotificationios" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Settings/React-RCTSettings.podspec b/Libraries/Settings/React-RCTSettings.podspec index a45bac020def25..6c147d557a7195 100644 --- a/Libraries/Settings/React-RCTSettings.podspec +++ b/Libraries/Settings/React-RCTSettings.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/settings" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Text/React-RCTText.podspec b/Libraries/Text/React-RCTText.podspec index 3fb4dda4cda0b0..0c9db6f79969d9 100644 --- a/Libraries/Text/React-RCTText.podspec +++ b/Libraries/Text/React-RCTText.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/text" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "**/*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/Vibration/React-RCTVibration.podspec b/Libraries/Vibration/React-RCTVibration.podspec index 0dba6c12c881a5..cc5e2f4a0993d3 100644 --- a/Libraries/Vibration/React-RCTVibration.podspec +++ b/Libraries/Vibration/React-RCTVibration.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/vibration" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" diff --git a/Libraries/WebSocket/React-RCTWebSocket.podspec b/Libraries/WebSocket/React-RCTWebSocket.podspec index 347521c1c15e78..62525de4d9bbd8 100644 --- a/Libraries/WebSocket/React-RCTWebSocket.podspec +++ b/Libraries/WebSocket/React-RCTWebSocket.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.documentation_url = "https://facebook.github.io/react-native/docs/network#websocket-support" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{h,m}", "Libraries/fishhook/*.{h,c}" diff --git a/Libraries/fishhook/React-fishhook.podspec b/Libraries/fishhook/React-fishhook.podspec index e6f2d3cbbe89e0..bfc0cc64b2829d 100644 --- a/Libraries/fishhook/React-fishhook.podspec +++ b/Libraries/fishhook/React-fishhook.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{c,h}" s.header_dir = "fishhook" diff --git a/RNTester/Podfile b/RNTester/Podfile index 0345504acfca9e..a40fe31254c2c4 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -37,10 +37,12 @@ source 'https://cdn.cocoapods.org/' require_relative '../scripts/autolink-ios' +# TODO(macOS GH#214) # Otherwise duplicate UUIDs are being generated between the iOS and macOS targets. # FIXME: https://github.com/microsoft/react-native/issues/210 install! 'cocoapods', :deterministic_uuids => false +# TODO(macOS GH#214) target 'RNTester' do platform :ios, '9.0' # Uncomment for Swift @@ -63,6 +65,7 @@ target 'RNTester' do # use_react_native!(path: "..", turbo_modules_enabled: true, fabric_enabled: true) end +# TODO(macOS GH#214) target 'RNTester-macOS' do platform :osx, '10.14' # Uncomment for Swift diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 78c5dc17824e1a..8e4ded10230677 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -241,6 +241,6 @@ SPEC CHECKSUMS: React-turbomodule-samples: 4d9081847444fe313ac06bb6ec604c35e49ba8c7 yoga: fb23117669f477b0f4b3849d6999414cba0c69b7 -PODFILE CHECKSUM: bea89da68cd123089a0dc47c3aaaf6cfed3115d4 +PODFILE CHECKSUM: 0fe24de33063625557c3c388037ac21ef86e5057 COCOAPODS: 1.8.4 diff --git a/React.podspec b/React.podspec index d069f8142a9462..c3c64980dab35e 100644 --- a/React.podspec +++ b/React.podspec @@ -37,7 +37,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs" s.cocoapods_version = ">= 1.2.0" diff --git a/React/React-Core.podspec b/React/React-Core.podspec index e81fb41d68f6f8..03396f1dc41776 100644 --- a/React/React-Core.podspec +++ b/React/React-Core.podspec @@ -28,14 +28,15 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "**/*.{c,h,m,mm,S,cpp}" s.exclude_files = "DevSupport/**/*", "Fabric/**/*", "Inspector/**/*" s.ios.exclude_files = "**/RCTTV*.*", -# Microsoft CocoaPods Support + +# TODO(macOS GH#214) "**/MacOS/*" s.osx.exclude_files = "Modules/RCTRedBoxExtraDataViewController.{h,m}", "Modules/RCTStatusBarManager.*", @@ -49,7 +50,7 @@ Pod::Spec.new do |s| "Base/RCTReloadCommand.*", "Views/{RCTModal*,RCTMasked*,RCTTV*,RCTRefreshControl*,RCTWrapperViewController}.*", "Views/SafeAreaView/*" -# Microsoft CocoaPods Support + s.tvos.exclude_files = "Modules/RCTClipboard*", "Views/RCTDatePicker*", "Views/RCTPicker*", diff --git a/React/React-DevSupport.podspec b/React/React-DevSupport.podspec index 4a8a3c6ab23b28..2e5a8b02745862 100644 --- a/React/React-DevSupport.podspec +++ b/React/React-DevSupport.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "DevSupport/*", "Inspector/*" diff --git a/ReactCommon/cxxreact/React-cxxreact.podspec b/ReactCommon/cxxreact/React-cxxreact.podspec index 260c25f38a2481..5a9370f4dddfaf 100644 --- a/ReactCommon/cxxreact/React-cxxreact.podspec +++ b/ReactCommon/cxxreact/React-cxxreact.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{cpp,h}" s.exclude_files = "SampleCxxModule.*", diff --git a/ReactCommon/jscallinvoker/React-jscallinvoker.podspec b/ReactCommon/jscallinvoker/React-jscallinvoker.podspec index d8a32e9065438c..12876d8068c084 100644 --- a/ReactCommon/jscallinvoker/React-jscallinvoker.podspec +++ b/ReactCommon/jscallinvoker/React-jscallinvoker.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "jsireact/*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/jsi/React-jsi.podspec b/ReactCommon/jsi/React-jsi.podspec index 6d21d576abbaae..f0733a8145e429 100644 --- a/ReactCommon/jsi/React-jsi.podspec +++ b/ReactCommon/jsi/React-jsi.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "**/*.{cpp,h}" s.exclude_files = "**/test/*" diff --git a/ReactCommon/jsiexecutor/React-jsiexecutor.podspec b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec index 42d0b583a0a774..7854d1b177a66b 100644 --- a/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +++ b/ReactCommon/jsiexecutor/React-jsiexecutor.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "jsireact/*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/jsinspector/React-jsinspector.podspec b/ReactCommon/jsinspector/React-jsinspector.podspec index ff57fd3ca9a4d5..8f7cebf00e462d 100644 --- a/ReactCommon/jsinspector/React-jsinspector.podspec +++ b/ReactCommon/jsinspector/React-jsinspector.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{cpp,h}" s.header_dir = 'jsinspector' diff --git a/ReactCommon/turbomodule/core/React-turbomodule-core.podspec b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec index c52dd1d4155efc..93843198ea8222 100644 --- a/ReactCommon/turbomodule/core/React-turbomodule-core.podspec +++ b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec b/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec index d8beec362ce492..da4111a1a79b0b 100644 --- a/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec +++ b/ReactCommon/turbomodule/samples/React-turbomodule-samples.podspec @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.homepage = "http://facebook.github.io/react-native/" s.license = package["license"] s.author = "Facebook, Inc. and its affiliates" - s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + s.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) s.source = source s.source_files = "*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/ReactCommon/yoga/yoga.podspec b/ReactCommon/yoga/yoga.podspec index 9baa4e2e36358a..01d86b283d8853 100644 --- a/ReactCommon/yoga/yoga.podspec +++ b/ReactCommon/yoga/yoga.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |spec| ] # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) # 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/scripts/autolink-ios.rb b/scripts/autolink-ios.rb index df792eb01f35d1..e36ee791d21b8c 100644 --- a/scripts/autolink-ios.rb +++ b/scripts/autolink-ios.rb @@ -41,6 +41,8 @@ def use_react_native! (options={}) pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec" pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec" pod 'Folly', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec" + + # TODO(macOS GH#214) pod 'boost-for-react-native', :podspec => "#{prefix}/third-party-podspecs/boost-for-react-native.podspec" if fabric_enabled diff --git a/third-party-podspecs/DoubleConversion.podspec b/third-party-podspecs/DoubleConversion.podspec index 4f2c9bea3ff3f7..f0dd025a6b3347 100644 --- a/third-party-podspecs/DoubleConversion.podspec +++ b/third-party-podspecs/DoubleConversion.podspec @@ -19,6 +19,6 @@ Pod::Spec.new do |spec| spec.compiler_flags = '-Wno-unreachable-code' # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) end diff --git a/third-party-podspecs/Folly.podspec b/third-party-podspecs/Folly.podspec index 5cfdd53a032a43..a53c1469429a49 100644 --- a/third-party-podspecs/Folly.podspec +++ b/third-party-podspecs/Folly.podspec @@ -71,5 +71,5 @@ Pod::Spec.new do |spec| end # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) end \ No newline at end of file diff --git a/third-party-podspecs/boost-for-react-native.podspec b/third-party-podspecs/boost-for-react-native.podspec index 37e18e4afc03a4..b18301127f502c 100644 --- a/third-party-podspecs/boost-for-react-native.podspec +++ b/third-party-podspecs/boost-for-react-native.podspec @@ -1,3 +1,4 @@ +# TODO(macOS GH#214) Pod::Spec.new do |spec| spec.name = 'boost-for-react-native' spec.version = '1.63.0' diff --git a/third-party-podspecs/glog.podspec b/third-party-podspecs/glog.podspec index 3c3665c1a35f32..2fbfd8eabd345c 100644 --- a/third-party-podspecs/glog.podspec +++ b/third-party-podspecs/glog.podspec @@ -34,6 +34,6 @@ Pod::Spec.new do |spec| "HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src" } # Pinning to the same version as React.podspec. - spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } + spec.platforms = { :ios => "9.0", :tvos => "9.2", :osx => "10.14" } # TODO(macOS GH#214) end From 2059d65d0cbd97f6d93526333bb2abd8c5baa0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Jan 2020 16:03:43 +0100 Subject: [PATCH 13/16] [RNTester] Remove development team references This change is already made upstream in commit https://github.com/facebook/react-native/commit/9ece5bda, so when that is merged in this commit can be skipped. Until then, not making this change will just lead to file thrashing. --- RNTester/RNTesterPods.xcodeproj/project.pbxproj | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 9285ca3432e9a8..7584e2b64702dd 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -430,9 +430,6 @@ LastUpgradeCheck = 0940; ORGANIZATIONNAME = Facebook; TargetAttributes = { - 13B07F861A680F5B00A75B9A = { - DevelopmentTeam = V9WTTPBFK9; - }; 3D13F83D1D6F6AE000E69E0E = { CreatedOnToolsVersion = 7.3.1; }; @@ -442,7 +439,6 @@ }; 9F15345A233AB2C4006DFE44 = { CreatedOnToolsVersion = 11.0; - DevelopmentTeam = UBF8T346G9; ProvisioningStyle = Automatic; }; 9F15346C233AB2C7006DFE44 = { @@ -718,7 +714,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = V9WTTPBFK9; + DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/Headers/Public\"", @@ -767,7 +763,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = V9WTTPBFK9; + DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/Headers/Public\"", @@ -1050,7 +1046,7 @@ CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = UBF8T346G9; + DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "RNTester-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; @@ -1077,7 +1073,7 @@ COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = UBF8T346G9; + DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "RNTester-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; From 8ed791fc242800ecc170c227e23db64231f9ecb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Jan 2020 16:04:26 +0100 Subject: [PATCH 14/16] [RNTester] Import Xcode artefact This change is already made upstream in commit https://github.com/facebook/react-native/commit/c1845810, so when that is merged in this commit can be skipped. Until then, not making this change will just lead to file thrashing. --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000000000..18d981003d68d0 --- /dev/null +++ b/RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From e8fd4d8b22acb3fe1e5932499d20f4cc8ccb1cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Jan 2020 16:28:05 +0100 Subject: [PATCH 15/16] [RNTester] Start Metro on launch of macOS product --- .../RNTesterPods.xcodeproj/project.pbxproj | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 7584e2b64702dd..1f3c3a8a91f554 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -374,6 +374,7 @@ 9F153457233AB2C4006DFE44 /* Sources */, 9F153458233AB2C4006DFE44 /* Frameworks */, 9F153459233AB2C4006DFE44 /* Resources */, + 51B9D81723C4D5A4002B30E1 /* Start Metro */, ); buildRules = ( ); @@ -559,6 +560,25 @@ 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; }; + 51B9D81723C4D5A4002B30E1 /* Start Metro */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Metro"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; 5CF0FD27207FC6EC00C13D65 /* Start Metro */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From b26a0603e770c70f3b83f6fcee729197cc667a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Jan 2020 17:07:36 +0100 Subject: [PATCH 16/16] [RCTRedBox] Fix -[RCTRedBoxWindow dismiss] on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As per https://www.thecave.com/2015/08/10/dispatch-async-to-main-queue-doesnt-work-with-modal-window-on-mac-os-x/#update2 the main queue is already executing a block when we start the new modal runloop and as the main queue is a serial queue it won’t perform new work until the current block is finished. In short, the task is queued, but will never be performed by GCD. This change side-steps GCD and instead directly invokes -dismiss on the main thread. --- React/Modules/RCTRedBox.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/React/Modules/RCTRedBox.m b/React/Modules/RCTRedBox.m index 281c8911523b97..421d1552a68afa 100644 --- a/React/Modules/RCTRedBox.m +++ b/React/Modules/RCTRedBox.m @@ -876,9 +876,13 @@ - (void)loadExtraDataViewController { RCT_EXPORT_METHOD(dismiss) { +#if TARGET_OS_OSX // [TODO(macOS ISS#2323203) + [self->_window performSelectorOnMainThread:@selector(dismiss) withObject:nil waitUntilDone:NO]; +#else // ]TODO(macOS ISS#2323203) dispatch_async(dispatch_get_main_queue(), ^{ [self->_window dismiss]; }); +#endif // TODO(macOS ISS#2323203) } - (void)invalidate