[ObjC] Support visionos (#36476)

This should be able to unblock using grpc on vision os, will add tests later

Closes #36476

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36476 from HannahShiSFB:support-visionos edbde32d23
PiperOrigin-RevId: 630173448
pull/36514/head
Hannah Shi 7 months ago committed by Copybara-Service
parent 108ee944df
commit a0543d9328
  1. 5
      BUILD
  2. 1
      gRPC-C++.podspec
  3. 1
      gRPC-Core.podspec
  4. 1
      gRPC-ProtoRPC.podspec
  5. 1
      gRPC-RxLibrary.podspec
  6. 6
      gRPC.podspec
  7. 1
      src/core/BUILD
  8. 1
      src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec
  9. 1
      src/objective-c/!ProtoCompiler-gRPCPlugin.podspec
  10. 1
      src/objective-c/!ProtoCompiler.podspec
  11. 1
      src/objective-c/BoringSSL-GRPC.podspec
  12. 1
      src/objective-c/README.md
  13. 1
      templates/gRPC-C++.podspec.template
  14. 1
      templates/gRPC-Core.podspec.template
  15. 1
      templates/gRPC-ProtoRPC.podspec.template
  16. 1
      templates/gRPC-RxLibrary.podspec.template
  17. 6
      templates/gRPC.podspec.template
  18. 1
      templates/src/objective-c/!ProtoCompiler-gRPCCppPlugin.podspec.template
  19. 1
      templates/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec.template
  20. 1
      templates/src/objective-c/!ProtoCompiler.podspec.template
  21. 1
      templates/src/objective-c/BoringSSL-GRPC.podspec.template
  22. 2
      tools/internal_ci/helper_scripts/prepare_build_macos_rc

@ -127,6 +127,11 @@ config_setting(
values = {"apple_platform_type": "tvos"}, values = {"apple_platform_type": "tvos"},
) )
config_setting(
name = "visionos",
values = {"apple_platform_type": "visionos"},
)
config_setting( config_setting(
name = "watchos", name = "watchos",
values = {"apple_platform_type": "watchos"}, values = {"apple_platform_type": "watchos"},

1
gRPC-C++.podspec generated

@ -38,6 +38,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false

1
gRPC-Core.podspec generated

@ -42,6 +42,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false

@ -37,6 +37,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'ProtoRPC' name = 'ProtoRPC'
s.module_name = name s.module_name = name

@ -37,6 +37,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'RxLibrary' name = 'RxLibrary'
s.module_name = name s.module_name = name

6
gRPC.podspec generated

@ -49,6 +49,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Exposes the privacy manifest. Depended on by any subspecs containing # Exposes the privacy manifest. Depended on by any subspecs containing
# non-interface files. # non-interface files.
@ -83,6 +84,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'Interface' do |ss| s.subspec 'Interface' do |ss|
@ -118,6 +120,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCore' do |ss| s.subspec 'GRPCCore' do |ss|
@ -155,6 +158,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCoreCronet' do |ss| s.subspec 'GRPCCoreCronet' do |ss|
@ -179,6 +183,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'InternalTesting' do |ss| s.subspec 'InternalTesting' do |ss|
@ -191,5 +196,6 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
end end

@ -2663,6 +2663,7 @@ grpc_cc_library(
], ],
"//:ios": ["cf_event_engine"], "//:ios": ["cf_event_engine"],
"//:tvos": ["cf_event_engine"], "//:tvos": ["cf_event_engine"],
"//:visionos": ["cf_event_engine"],
"//:watchos": ["cf_event_engine"], "//:watchos": ["cf_event_engine"],
"//conditions:default": ["posix_event_engine"], "//conditions:default": ["posix_event_engine"],
}, },

@ -106,6 +106,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# This is only for local development of the plugin: If the Podfile brings this pod from a local # This is only for local development of the plugin: If the Podfile brings this pod from a local
# directory using `:path`, CocoaPods won't download the zip file and so the plugin won't be # directory using `:path`, CocoaPods won't download the zip file and so the plugin won't be

@ -108,6 +108,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Restrict the gRPC runtime version to the one supported by this plugin. # Restrict the gRPC runtime version to the one supported by this plugin.
s.dependency 'gRPC-ProtoRPC', v s.dependency 'gRPC-ProtoRPC', v

@ -114,6 +114,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# This is only for local development of protoc: If the Podfile brings this pod from a local # This is only for local development of protoc: If the Podfile brings this pod from a local
# directory using `:path`, CocoaPods won't download the zip file and so the compiler won't be # directory using `:path`, CocoaPods won't download the zip file and so the compiler won't be

@ -83,6 +83,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'openssl_grpc' name = 'openssl_grpc'

@ -47,6 +47,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Base directory where the .proto files are. # Base directory where the .proto files are.
src = '.' src = '.'

@ -122,6 +122,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false

@ -118,6 +118,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
s.requires_arc = false s.requires_arc = false

@ -39,6 +39,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'ProtoRPC' name = 'ProtoRPC'
s.module_name = name s.module_name = name

@ -39,6 +39,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'RxLibrary' name = 'RxLibrary'
s.module_name = name s.module_name = name

@ -51,6 +51,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Exposes the privacy manifest. Depended on by any subspecs containing # Exposes the privacy manifest. Depended on by any subspecs containing
# non-interface files. # non-interface files.
@ -85,6 +86,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'Interface' do |ss| s.subspec 'Interface' do |ss|
@ -120,6 +122,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCore' do |ss| s.subspec 'GRPCCore' do |ss|
@ -157,6 +160,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'GRPCCoreCronet' do |ss| s.subspec 'GRPCCoreCronet' do |ss|
@ -181,6 +185,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
s.subspec 'InternalTesting' do |ss| s.subspec 'InternalTesting' do |ss|
@ -193,5 +198,6 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
end end
end end

@ -108,6 +108,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# This is only for local development of the plugin: If the Podfile brings this pod from a local # This is only for local development of the plugin: If the Podfile brings this pod from a local
# directory using `:path`, CocoaPods won't download the zip file and so the plugin won't be # directory using `:path`, CocoaPods won't download the zip file and so the plugin won't be

@ -110,6 +110,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# Restrict the gRPC runtime version to the one supported by this plugin. # Restrict the gRPC runtime version to the one supported by this plugin.
s.dependency 'gRPC-ProtoRPC', v s.dependency 'gRPC-ProtoRPC', v

@ -116,6 +116,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
# This is only for local development of protoc: If the Podfile brings this pod from a local # This is only for local development of protoc: If the Podfile brings this pod from a local
# directory using `:path`, CocoaPods won't download the zip file and so the compiler won't be # directory using `:path`, CocoaPods won't download the zip file and so the compiler won't be

@ -114,6 +114,7 @@
s.osx.deployment_target = '10.12' s.osx.deployment_target = '10.12'
s.tvos.deployment_target = '12.0' s.tvos.deployment_target = '12.0'
s.watchos.deployment_target = '6.0' s.watchos.deployment_target = '6.0'
s.visionos.deployment_target = '1.0'
name = 'openssl_grpc' name = 'openssl_grpc'

@ -99,7 +99,7 @@ then
# cocoapods # cocoapods
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
# use "sudo" to avoid permission error on kokoro monterey image # use "sudo" to avoid permission error on kokoro monterey image
time sudo gem install cocoapods --version 1.12.0 --no-document --user-install time sudo gem install cocoapods --version 1.15.2 --no-document --user-install
# pre-fetch cocoapods master repo's most recent commit only # pre-fetch cocoapods master repo's most recent commit only
mkdir -p ~/.cocoapods/repos mkdir -p ~/.cocoapods/repos
time git clone --depth 1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master time git clone --depth 1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master

Loading…
Cancel
Save