2015-06-01 19:55:27 -07:00
|
|
|
# This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent
|
|
|
|
|
# project.
|
|
|
|
|
# Despite this file being specific to Objective-C, it needs to be on the root of the repository.
|
|
|
|
|
# Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting
|
|
|
|
|
# dependent projects use the :git notation to refer to the library.
|
2015-05-13 19:54:55 -07:00
|
|
|
Pod::Spec.new do |s|
|
|
|
|
|
s.name = 'Protobuf'
|
2026-01-22 07:25:02 -08:00
|
|
|
s.version = '5.35.0'
|
2015-05-13 19:54:55 -07:00
|
|
|
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
|
2018-08-22 11:55:30 -07:00
|
|
|
s.homepage = 'https://github.com/protocolbuffers/protobuf'
|
2022-01-27 01:23:14 +01:00
|
|
|
s.license = 'BSD-3-Clause'
|
2015-05-14 14:16:40 -07:00
|
|
|
s.authors = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' }
|
2024-01-29 10:41:19 -08:00
|
|
|
|
|
|
|
|
# Ensure developers won't hit CocoaPods/CocoaPods#11402 with the resource
|
|
|
|
|
# bundle for the privacy manifest.
|
|
|
|
|
s.cocoapods_version = '>= 1.12.0'
|
2015-05-13 19:54:55 -07:00
|
|
|
|
2018-08-22 11:55:30 -07:00
|
|
|
s.source = { :git => 'https://github.com/protocolbuffers/protobuf.git',
|
2025-06-23 11:01:05 -07:00
|
|
|
:tag => "v#{s.version}-objectivec" }
|
2016-02-10 19:19:17 -08:00
|
|
|
|
2024-10-10 14:32:22 -07:00
|
|
|
s.source_files = 'objectivec/*.{h,m,swift}'
|
2015-08-26 23:55:33 -07:00
|
|
|
# The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be
|
|
|
|
|
# left out, as it's an umbrella implementation file.
|
|
|
|
|
s.exclude_files = 'objectivec/GPBProtocolBuffers.m'
|
2016-05-09 13:53:20 -04:00
|
|
|
|
2024-07-03 08:54:56 -07:00
|
|
|
# Now that there is a Swift source file, set a version.
|
|
|
|
|
s.swift_version = '5.0'
|
|
|
|
|
|
2024-01-29 10:41:19 -08:00
|
|
|
s.resource_bundle = {
|
|
|
|
|
"Protobuf_Privacy" => "PrivacyInfo.xcprivacy"
|
|
|
|
|
}
|
|
|
|
|
|
2016-05-09 13:53:20 -04:00
|
|
|
# Set a CPP symbol so the code knows to use framework imports.
|
|
|
|
|
s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
|
|
|
|
|
s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
|
2015-05-13 19:54:55 -07:00
|
|
|
|
2024-10-22 12:54:46 -07:00
|
|
|
s.ios.deployment_target = '15.0'
|
2025-12-16 10:14:19 -08:00
|
|
|
s.osx.deployment_target = '12.0'
|
2024-10-22 12:54:46 -07:00
|
|
|
# The following are best-effort / community supported, and are not covered by
|
|
|
|
|
# our official support policies: https://protobuf.dev/support/version-support/
|
2022-09-23 15:35:39 -04:00
|
|
|
s.tvos.deployment_target = '12.0'
|
|
|
|
|
s.watchos.deployment_target = '6.0'
|
2024-02-22 19:23:32 -08:00
|
|
|
s.visionos.deployment_target = '1.0'
|
2015-05-13 19:54:55 -07:00
|
|
|
s.requires_arc = false
|
2022-04-26 12:43:54 -04:00
|
|
|
|
|
|
|
|
# The unittest need the generate sources from the testing related .proto
|
|
|
|
|
# files. So to add a `test_spec`, there would also need to be something like a
|
|
|
|
|
# `script_phases` to generate them, but there would also need to be a way to
|
|
|
|
|
# ensure `protoc` had be built. Another option would be to move to a model
|
|
|
|
|
# where the needed files are always generated and checked in. Neither of these
|
|
|
|
|
# seem that great at the moment, so the tests have *not* been wired into here
|
|
|
|
|
# at this time.
|
2015-05-13 19:54:55 -07:00
|
|
|
end
|