“Allow non-modular includes in framework modules”

It’s the magic sentence that allows pods dependent on RxLibrary to be
archived correctly by XCode.

It’s less than ideal, and seems arbitrary (why RxLibrary specifically?),
so we’ll try to produce a minimal case and open an issue with it in the
Cocoapods repo.
pull/7448/head
Jorge Canizales 8 years ago
parent 9b45afbbc5
commit e4704d3eda
  1. 11
      examples/objective-c/auth_sample/AuthTestService.podspec
  2. 11
      examples/objective-c/helloworld/HelloWorld.podspec
  3. 11
      examples/objective-c/route_guide/RouteGuide.podspec
  4. 4
      gRPC-ProtoRPC.podspec
  5. 5
      gRPC.podspec
  6. 11
      src/objective-c/README.md
  7. 11
      src/objective-c/examples/RemoteTestClient/RemoteTest.podspec
  8. 11
      src/objective-c/tests/RemoteTestClient/RemoteTest.podspec

@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

@ -62,8 +62,10 @@ Pod::Spec.new do |s|
s.dependency 'gRPC', version s.dependency 'gRPC', version
s.dependency 'gRPC-RxLibrary', version s.dependency 'gRPC-RxLibrary', version
s.dependency 'Protobuf', '~> 3.0.0-beta-3.1' s.dependency 'Protobuf', '~> 3.0.0-beta-3.1'
# This is needed by all pods that depend on Protobuf:
s.pod_target_xcconfig = { s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1', 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
} }
end end

@ -65,4 +65,9 @@ Pod::Spec.new do |s|
# Certificates, to be able to establish TLS connections: # Certificates, to be able to establish TLS connections:
s.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] } s.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
s.pod_target_xcconfig = {
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

@ -82,10 +82,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency 'Protobuf' ms.dependency 'Protobuf'
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# The --objcgrpc_out plugin generates a pair of .pbrpc.h/.pbrpc.m files for each .proto file with # The --objcgrpc_out plugin generates a pair of .pbrpc.h/.pbrpc.m files for each .proto file with
@ -98,6 +94,13 @@ Pod::Spec.new do |s|
ss.dependency 'gRPC-ProtoRPC' ss.dependency 'gRPC-ProtoRPC'
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
``` ```

@ -35,10 +35,6 @@ Pod::Spec.new do |s|
ms.header_mappings_dir = '.' ms.header_mappings_dir = '.'
ms.requires_arc = false ms.requires_arc = false
ms.dependency 'Protobuf' ms.dependency 'Protobuf'
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
s.subspec 'Services' do |ss| s.subspec 'Services' do |ss|
@ -48,4 +44,11 @@ Pod::Spec.new do |s|
ss.dependency 'gRPC-ProtoRPC' ss.dependency 'gRPC-ProtoRPC'
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

@ -35,10 +35,6 @@ Pod::Spec.new do |s|
ms.header_mappings_dir = "." ms.header_mappings_dir = "."
ms.requires_arc = false ms.requires_arc = false
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
s.subspec "Services" do |ss| s.subspec "Services" do |ss|
@ -48,4 +44,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end

Loading…
Cancel
Save