FirebaseMessaging.podspec 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. Pod::Spec.new do |s|
  2. s.name = 'FirebaseMessaging'
  3. s.version = '11.4.0'
  4. s.summary = 'Firebase Messaging'
  5. s.description = <<-DESC
  6. Firebase Messaging is a service that allows you to send data from your server to your users'
  7. iOS device, and also to receive messages from devices on the same connection. The service handles
  8. all aspects of queueing of messages and delivery to the target application running on the target
  9. device, and it is completely free.
  10. DESC
  11. s.homepage = 'https://firebase.google.com'
  12. s.license = { :type => 'Apache-2.0', :file => 'LICENSE' }
  13. s.authors = 'Google, Inc.'
  14. s.source = {
  15. :git => 'https://github.com/firebase/firebase-ios-sdk.git',
  16. :tag => 'CocoaPods-' + s.version.to_s
  17. }
  18. s.social_media_url = 'https://twitter.com/Firebase'
  19. ios_deployment_target = '13.0'
  20. osx_deployment_target = '10.15'
  21. tvos_deployment_target = '13.0'
  22. watchos_deployment_target = '7.0'
  23. s.swift_version = '5.9'
  24. s.ios.deployment_target = ios_deployment_target
  25. s.osx.deployment_target = osx_deployment_target
  26. s.tvos.deployment_target = tvos_deployment_target
  27. s.watchos.deployment_target = watchos_deployment_target
  28. s.cocoapods_version = '>= 1.12.0'
  29. s.prefix_header_file = false
  30. base_dir = "FirebaseMessaging/"
  31. s.source_files = [
  32. base_dir + 'Sources/**/*',
  33. base_dir + 'Sources/LiveActivities/*.{swift,h,m}',
  34. base_dir + 'Sources/**/*.{c,m,h}',
  35. base_dir + 'Sources/Protogen/nanopb/*.h',
  36. base_dir + 'Interop/*.h',
  37. 'Interop/Analytics/Public/*.h',
  38. 'FirebaseCore/Extension/*.h',
  39. 'FirebaseInstallations/Source/Library/Private/*.h',
  40. ]
  41. s.public_header_files = base_dir + 'Sources/Public/FirebaseMessaging/*.h'
  42. s.resource_bundles = {
  43. "#{s.module_name}_Privacy" => 'FirebaseMessaging/Sources/Resources/PrivacyInfo.xcprivacy'
  44. }
  45. s.library = 'sqlite3'
  46. # s.prepare_command = <<-CMD
  47. # echo "Bridging header has been created"
  48. # CMD
  49. s.pod_target_xcconfig = {
  50. 'GCC_C_LANGUAGE_STANDARD' => 'c99',
  51. 'GCC_PREPROCESSOR_DEFINITIONS' =>
  52. # for nanopb:
  53. 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
  54. # Unit tests do library imports using repo-root relative paths.
  55. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
  56. # 'SWIFT_OBJC_BRIDGING_HEADER' => '$(PODS_TARGET_SRCROOT)/FirebaseMessaging/Sources/LiveActivities/FirebaseMessaging-Bridging-Header.h',
  57. }
  58. s.ios.framework = 'SystemConfiguration'
  59. s.tvos.framework = 'SystemConfiguration'
  60. s.osx.framework = 'SystemConfiguration'
  61. s.weak_framework = 'UserNotifications'
  62. s.dependency 'FirebaseInstallations', '~> 11.0'
  63. s.dependency 'FirebaseCore', '~> 11.0'
  64. s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0'
  65. s.dependency 'GoogleUtilities/Reachability', '~> 8.0'
  66. s.dependency 'GoogleUtilities/Environment', '~> 8.0'
  67. s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0'
  68. s.dependency 'GoogleDataTransport', '~> 10.0'
  69. s.dependency 'nanopb', '~> 3.30910.0'
  70. s.test_spec 'unit' do |unit_tests|
  71. unit_tests.scheme = { :code_coverage => true }
  72. unit_tests.platforms = {
  73. :ios => ios_deployment_target,
  74. :osx => osx_deployment_target,
  75. :tvos => tvos_deployment_target
  76. }
  77. unit_tests.source_files = [
  78. 'FirebaseMessaging/Tests/UnitTests*/*.{m,h,swift}',
  79. 'SharedTestUtilities/URLSession/*.[mh]',
  80. ]
  81. unit_tests.requires_app_host = true
  82. unit_tests.pod_target_xcconfig = {
  83. 'CLANG_ENABLE_OBJC_WEAK' => 'YES'
  84. }
  85. unit_tests.dependency 'OCMock'
  86. end
  87. s.test_spec 'integration' do |int_tests|
  88. int_tests.scheme = { :code_coverage => true }
  89. int_tests.platforms = {
  90. :ios => ios_deployment_target,
  91. :osx => osx_deployment_target,
  92. :tvos => tvos_deployment_target
  93. }
  94. int_tests.source_files = 'FirebaseMessaging/Tests/IntegrationTests/*.swift'
  95. int_tests.requires_app_host = true
  96. int_tests.resources = 'FirebaseMessaging/Tests/IntegrationTests/Resources/GoogleService-Info.plist'
  97. end
  98. end