1# This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent 2# project. 3# Despite this file being specific to Objective-C, it needs to be on the root of the repository. 4# Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting 5# dependent projects use the :git notation to refer to the library. 6Pod::Spec.new do |s| 7 s.name = 'Protobuf' 8 s.version = '3.9.1' 9 s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' 10 s.homepage = 'https://github.com/protocolbuffers/protobuf' 11 s.license = '3-Clause BSD License' 12 s.authors = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' } 13 s.cocoapods_version = '>= 1.0' 14 15 s.source = { :git => 'https://github.com/protocolbuffers/protobuf.git', 16 :tag => "v#{s.version}" } 17 18 s.source_files = 'objectivec/*.{h,m}', 19 'objectivec/google/protobuf/Any.pbobjc.{h,m}', 20 'objectivec/google/protobuf/Api.pbobjc.{h,m}', 21 'objectivec/google/protobuf/Duration.pbobjc.{h,m}', 22 'objectivec/google/protobuf/Empty.pbobjc.{h,m}', 23 'objectivec/google/protobuf/FieldMask.pbobjc.{h,m}', 24 'objectivec/google/protobuf/SourceContext.pbobjc.{h,m}', 25 'objectivec/google/protobuf/Struct.pbobjc.{h,m}', 26 'objectivec/google/protobuf/Timestamp.pbobjc.{h,m}', 27 'objectivec/google/protobuf/Type.pbobjc.{h,m}', 28 'objectivec/google/protobuf/Wrappers.pbobjc.{h,m}' 29 # The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be 30 # left out, as it's an umbrella implementation file. 31 s.exclude_files = 'objectivec/GPBProtocolBuffers.m' 32 33 # Set a CPP symbol so the code knows to use framework imports. 34 s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' } 35 s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' } 36 37 s.ios.deployment_target = '7.0' 38 s.osx.deployment_target = '10.9' 39 s.tvos.deployment_target = '9.0' 40 s.watchos.deployment_target = '2.0' 41 s.requires_arc = false 42end 43