2020-01-08 10:04:56 -05:00
|
|
|
Pod::Spec.new do |s|
|
|
|
|
|
s.name = 'FirebaseCrashlytics'
|
2024-08-20 10:05:22 -07:00
|
|
|
s.version = '11.2.0'
|
2020-01-08 10:04:56 -05:00
|
|
|
s.summary = 'Best and lightest-weight crash reporting for mobile, desktop and tvOS.'
|
|
|
|
|
s.description = 'Firebase Crashlytics helps you track, prioritize, and fix stability issues that erode app quality.'
|
|
|
|
|
s.homepage = 'https://firebase.google.com/'
|
2022-05-09 13:23:42 +00:00
|
|
|
s.license = { :type => 'Apache-2.0', :file => 'Crashlytics/LICENSE' }
|
2020-01-08 10:04:56 -05:00
|
|
|
s.authors = 'Google, Inc.'
|
|
|
|
|
s.source = {
|
|
|
|
|
:git => 'https://github.com/firebase/firebase-ios-sdk.git',
|
2020-10-02 12:26:22 -07:00
|
|
|
:tag => 'CocoaPods-' + s.version.to_s
|
2020-01-08 10:04:56 -05:00
|
|
|
}
|
|
|
|
|
|
2024-06-05 07:39:36 -07:00
|
|
|
ios_deployment_target = '12.0'
|
|
|
|
|
osx_deployment_target = '10.15'
|
|
|
|
|
tvos_deployment_target = '13.0'
|
|
|
|
|
watchos_deployment_target = '7.0'
|
2021-03-18 12:22:16 -07:00
|
|
|
|
2024-06-05 07:39:36 -07:00
|
|
|
s.swift_version = '5.9'
|
2022-03-09 16:25:39 -05:00
|
|
|
|
2021-03-18 12:22:16 -07:00
|
|
|
s.ios.deployment_target = ios_deployment_target
|
|
|
|
|
s.osx.deployment_target = osx_deployment_target
|
|
|
|
|
s.tvos.deployment_target = tvos_deployment_target
|
|
|
|
|
s.watchos.deployment_target = watchos_deployment_target
|
2020-01-08 10:04:56 -05:00
|
|
|
|
2024-01-26 13:38:44 -08:00
|
|
|
s.cocoapods_version = '>= 1.12.0'
|
2020-01-08 10:04:56 -05:00
|
|
|
s.prefix_header_file = false
|
|
|
|
|
|
2020-06-09 06:09:27 -07:00
|
|
|
s.source_files = [
|
2024-03-11 16:13:04 -04:00
|
|
|
'Crashlytics/Crashlytics/**/*.{c,h,m,mm,swift}',
|
2020-03-05 14:59:11 -05:00
|
|
|
'Crashlytics/Protogen/**/*.{c,h,m,mm}',
|
2020-01-08 10:04:56 -05:00
|
|
|
'Crashlytics/Shared/**/*.{c,h,m,mm}',
|
2020-06-09 06:09:27 -07:00
|
|
|
'Crashlytics/third_party/**/*.{c,h,m,mm}',
|
2022-04-07 07:35:31 -07:00
|
|
|
'FirebaseCore/Extension/*.h',
|
2020-06-25 15:54:44 -07:00
|
|
|
'FirebaseInstallations/Source/Library/Private/*.h',
|
2020-06-09 06:09:27 -07:00
|
|
|
'Interop/Analytics/Public/*.h',
|
|
|
|
|
]
|
2020-01-08 10:04:56 -05:00
|
|
|
|
2024-02-23 15:08:29 -08:00
|
|
|
s.resource_bundles = {
|
|
|
|
|
"#{s.module_name}_Privacy" => 'Crashlytics/Resources/PrivacyInfo.xcprivacy'
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-08 10:04:56 -05:00
|
|
|
s.public_header_files = [
|
2020-07-31 07:21:41 -07:00
|
|
|
'Crashlytics/Crashlytics/Public/FirebaseCrashlytics/*.h'
|
2020-01-08 10:04:56 -05:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
s.preserve_paths = [
|
|
|
|
|
'Crashlytics/README.md',
|
|
|
|
|
'run',
|
|
|
|
|
'upload-symbols',
|
2023-06-21 11:13:12 -04:00
|
|
|
'CrashlyticsInputFiles.xcfilelist',
|
2020-01-08 10:04:56 -05:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# Ensure the run script and upload-symbols are callable via
|
|
|
|
|
# ${PODS_ROOT}/FirebaseCrashlytics/<name>
|
|
|
|
|
s.prepare_command = <<-PREPARE_COMMAND_END
|
|
|
|
|
cp -f ./Crashlytics/run ./run
|
|
|
|
|
cp -f ./Crashlytics/upload-symbols ./upload-symbols
|
2023-07-12 23:32:49 +09:00
|
|
|
cp -f ./Crashlytics/CrashlyticsInputFiles.xcfilelist ./CrashlyticsInputFiles.xcfilelist
|
2020-01-08 10:04:56 -05:00
|
|
|
PREPARE_COMMAND_END
|
|
|
|
|
|
2024-06-03 18:04:25 -04:00
|
|
|
s.dependency 'FirebaseCore', '~> 11.0'
|
|
|
|
|
s.dependency 'FirebaseInstallations', '~> 11.0'
|
|
|
|
|
s.dependency 'FirebaseSessions', '~> 11.0'
|
|
|
|
|
s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0'
|
2024-06-07 07:36:44 -07:00
|
|
|
s.dependency 'PromisesObjC', '~> 2.4'
|
2024-05-31 10:34:24 -04:00
|
|
|
s.dependency 'GoogleDataTransport', '~> 10.0'
|
|
|
|
|
s.dependency 'GoogleUtilities/Environment', '~> 8.0'
|
2024-06-07 07:36:44 -07:00
|
|
|
s.dependency 'nanopb', '~> 3.30910.0'
|
2020-01-08 10:04:56 -05:00
|
|
|
|
|
|
|
|
s.libraries = 'c++', 'z'
|
2020-08-13 13:05:30 -05:00
|
|
|
s.ios.frameworks = 'Security', 'SystemConfiguration'
|
|
|
|
|
s.macos.frameworks = 'Security', 'SystemConfiguration'
|
|
|
|
|
s.osx.frameworks = 'Security', 'SystemConfiguration'
|
|
|
|
|
s.watchos.frameworks = 'Security'
|
2020-01-08 10:04:56 -05:00
|
|
|
|
|
|
|
|
s.ios.pod_target_xcconfig = {
|
|
|
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
|
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
2020-03-05 14:59:11 -05:00
|
|
|
'CLS_SDK_NAME="Crashlytics iOS SDK" ' +
|
|
|
|
|
# For nanopb:
|
|
|
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
2020-06-09 05:21:28 -07:00
|
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
|
2020-01-08 10:04:56 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s.osx.pod_target_xcconfig = {
|
|
|
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
|
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
2020-03-05 14:59:11 -05:00
|
|
|
'CLS_SDK_NAME="Crashlytics Mac SDK" ' +
|
|
|
|
|
# For nanopb:
|
|
|
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
2020-06-09 05:21:28 -07:00
|
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
|
2020-01-08 10:04:56 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s.tvos.pod_target_xcconfig = {
|
|
|
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
|
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
2020-03-05 14:59:11 -05:00
|
|
|
'CLS_SDK_NAME="Crashlytics tvOS SDK" ' +
|
|
|
|
|
# For nanopb:
|
|
|
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
2020-06-09 05:21:28 -07:00
|
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
|
2020-01-08 10:04:56 -05:00
|
|
|
}
|
|
|
|
|
|
2020-08-13 13:05:30 -05:00
|
|
|
s.watchos.pod_target_xcconfig = {
|
|
|
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
|
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
|
|
|
|
'CLS_SDK_NAME="Crashlytics watchOS SDK" ' +
|
|
|
|
|
# For nanopb:
|
|
|
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
|
|
|
|
'OTHER_LD_FLAGS' => '$(inherited) -sectcreate __TEXT __info_plist',
|
|
|
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-08 10:04:56 -05:00
|
|
|
s.test_spec 'unit' do |unit_tests|
|
2020-12-30 12:50:32 -08:00
|
|
|
unit_tests.scheme = { :code_coverage => true }
|
2020-08-13 14:34:10 -07:00
|
|
|
# Unit tests can't run on watchOS.
|
2021-03-18 12:22:16 -07:00
|
|
|
unit_tests.platforms = {
|
|
|
|
|
:ios => ios_deployment_target,
|
2022-03-18 17:15:52 -04:00
|
|
|
:osx => '10.15',
|
2021-03-18 12:22:16 -07:00
|
|
|
:tvos => tvos_deployment_target
|
|
|
|
|
}
|
2020-01-08 10:04:56 -05:00
|
|
|
unit_tests.source_files = 'Crashlytics/UnitTests/*.[mh]',
|
2024-03-11 16:13:04 -04:00
|
|
|
'Crashlytics/UnitTests/*/*.[mh]',
|
|
|
|
|
'Crashlytics/UnitTestsSwift/*.swift'
|
2020-01-08 10:04:56 -05:00
|
|
|
unit_tests.resources = 'Crashlytics/UnitTests/Data/*',
|
|
|
|
|
'Crashlytics/UnitTests/*.clsrecord',
|
2023-01-04 11:46:45 -05:00
|
|
|
'Crashlytics/UnitTests/FIRCLSMachO/machO_data/*'
|
2023-04-27 08:12:42 -07:00
|
|
|
unit_tests.requires_app_host = true
|
2020-01-08 10:04:56 -05:00
|
|
|
end
|
|
|
|
|
end
|