FirebaseAuth.podspec 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. Pod::Spec.new do |s|
  2. s.name = 'FirebaseAuth'
  3. s.version = '10.9.0'
  4. s.summary = 'Apple platform client for Firebase Authentication'
  5. s.description = <<-DESC
  6. Firebase Authentication allows you to manage your own account system without any backend code. It
  7. supports email and password accounts, as well as several 3rd party authentication mechanisms.
  8. DESC
  9. s.homepage = 'https://firebase.google.com'
  10. s.license = { :type => 'Apache-2.0', :file => 'LICENSE' }
  11. s.authors = 'Google, Inc.'
  12. s.source = {
  13. :git => 'https://github.com/firebase/firebase-ios-sdk.git',
  14. :tag => 'CocoaPods-' + s.version.to_s
  15. }
  16. s.social_media_url = 'https://twitter.com/Firebase'
  17. ios_deployment_target = '11.0'
  18. osx_deployment_target = '10.13'
  19. tvos_deployment_target = '12.0'
  20. watchos_deployment_target = '6.0'
  21. s.swift_version = '5.3'
  22. s.prepare_command = <<-CMD
  23. ruby scripts/build_private_module_map.rb FirebaseAuth.podspec
  24. CMD
  25. s.ios.deployment_target = ios_deployment_target
  26. s.osx.deployment_target = osx_deployment_target
  27. s.tvos.deployment_target = tvos_deployment_target
  28. s.watchos.deployment_target = watchos_deployment_target
  29. s.cocoapods_version = '>= 1.4.0'
  30. s.prefix_header_file = false
  31. source = 'FirebaseAuth/Sources/'
  32. s.source_files = [
  33. 'FirebaseAuth/Sources/Swift/**/*.swift',
  34. source + '**/*.[mh]',
  35. 'FirebaseAuth/Interop/*.h',
  36. 'FirebaseAppCheck/Interop/*.h',
  37. ]
  38. s.public_header_files = source + 'Public/FirebaseAuth/*.h'
  39. # All headers except the ones in the `Public` should be private.
  40. s.private_header_files = Dir['FirebaseAuth/Sources/**/*.h']
  41. .reject{ |f| f['FirebaseAuth/Sources/Public/'] } + [
  42. 'FirebaseAuth/Interop/*.h'
  43. ]
  44. s.preserve_paths = [
  45. 'FirebaseAuth/README.md',
  46. 'FirebaseAuth/CHANGELOG.md'
  47. ]
  48. s.pod_target_xcconfig = {
  49. 'GCC_C_LANGUAGE_STANDARD' => 'c99',
  50. # The second path is to find FirebaseAuth-Swift.h from a pod gen project
  51. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" "${OBJECT_FILE_DIR_normal}/${NATIVE_ARCH_ACTUAL}"',
  52. # Point to the private module map.
  53. 'MODULEMAP_PRIVATE_FILE' =>
  54. '${PODS_TARGET_SRCROOT}/FirebaseAuth/Sources/FirebaseAuth.private.modulemap'
  55. }
  56. s.framework = 'Security'
  57. s.ios.framework = 'SafariServices'
  58. s.dependency 'FirebaseAppCheckInterop', '~> 10.0'
  59. s.dependency 'FirebaseCore', '~> 10.0'
  60. s.dependency 'FirebaseCoreExtension', '~> 10.0'
  61. s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 7.8'
  62. s.dependency 'GoogleUtilities/Environment', '~> 7.8'
  63. s.dependency 'GTMSessionFetcher/Core', '>= 2.1', '< 4.0'
  64. # Using environment variable because of the dependency on the unpublished
  65. # HeartbeatLoggingTestUtils.
  66. if ENV['POD_LIB_LINT_ONLY'] && ENV['POD_LIB_LINT_ONLY'] == '1' then
  67. s.test_spec 'unit' do |unit_tests|
  68. unit_tests.scheme = { :code_coverage => true }
  69. # Unit tests can't run on watchOS.
  70. unit_tests.platforms = {
  71. :ios => ios_deployment_target,
  72. :osx => osx_deployment_target,
  73. :tvos => tvos_deployment_target
  74. }
  75. unit_tests.source_files = 'FirebaseAuth/Tests/Unit/**/*.{m,h,swift}'
  76. unit_tests.osx.exclude_files = [
  77. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenManagerTests.m',
  78. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenTests.m',
  79. 'FirebaseAuth/Tests/Unit/FIRAuthAppCredentialManagerTests.m',
  80. 'FirebaseAuth/Tests/Unit/FIRAuthNotificationManagerTests.m',
  81. 'FirebaseAuth/Tests/Unit/FIRAuthURLPresenterTests.m',
  82. 'FirebaseAuth/Tests/Unit/FIREmailLink*',
  83. 'FirebaseAuth/Tests/Unit/FIRPhoneAuthProviderTests.m',
  84. 'FirebaseAuth/Tests/Unit/FIRSendVerificationCode*',
  85. 'FirebaseAuth/Tests/Unit/FIRSignInWithGameCenterTests.m',
  86. 'FirebaseAuth/Tests/Unit/FIRVerifyClient*',
  87. 'FirebaseAuth/Tests/Unit/FIRVerifyPhoneNumber*',
  88. 'FirebaseAuth/Tests/Unit/FIROAuthProviderTests.m',
  89. 'FirebaseAuth/Tests/Unit/FIRMultiFactorResolverTests.m',
  90. ]
  91. unit_tests.tvos.exclude_files = [
  92. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenManagerTests.m',
  93. 'FirebaseAuth/Tests/Unit/FIRAuthNotificationManagerTests.m',
  94. 'FirebaseAuth/Tests/Unit/FIRAuthURLPresenterTests.m',
  95. 'FirebaseAuth/Tests/Unit/FIREmailLink*',
  96. 'FirebaseAuth/Tests/Unit/FIRPhoneAuthProviderTests.m',
  97. 'FirebaseAuth/Tests/Unit/FIRSendVerificationCode*',
  98. 'FirebaseAuth/Tests/Unit/FIRSignInWithGameCenterTests.m',
  99. 'FirebaseAuth/Tests/Unit/FIRVerifyClient*',
  100. 'FirebaseAuth/Tests/Unit/FIRVerifyPhoneNumber*',
  101. 'FirebaseAuth/Tests/Unit/FIROAuthProviderTests.m',
  102. 'FirebaseAuth/Tests/Unit/FIRMultiFactorResolverTests.m',
  103. ]
  104. # app_host is needed for tests with keychain
  105. unit_tests.requires_app_host = true
  106. unit_tests.dependency 'OCMock'
  107. unit_tests.dependency 'HeartbeatLoggingTestUtils'
  108. end
  109. end
  110. end