FirebaseAuth.podspec 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. Pod::Spec.new do |s|
  2. s.name = 'FirebaseAuth'
  3. s.version = '10.6.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.ios.deployment_target = ios_deployment_target
  23. s.osx.deployment_target = osx_deployment_target
  24. s.tvos.deployment_target = tvos_deployment_target
  25. s.watchos.deployment_target = watchos_deployment_target
  26. s.cocoapods_version = '>= 1.4.0'
  27. s.prefix_header_file = false
  28. source = 'FirebaseAuth/Sources/'
  29. s.source_files = [
  30. source + '**/*.[mh]',
  31. 'FirebaseCore/Extension/*.h',
  32. 'FirebaseAuth/Interop/*.h',
  33. ]
  34. s.public_header_files = source + 'Public/FirebaseAuth/*.h'
  35. s.preserve_paths = [
  36. 'FirebaseAuth/README.md',
  37. 'FirebaseAuth/CHANGELOG.md'
  38. ]
  39. s.pod_target_xcconfig = {
  40. 'GCC_C_LANGUAGE_STANDARD' => 'c99',
  41. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
  42. }
  43. s.framework = 'Security'
  44. s.ios.framework = 'SafariServices'
  45. s.dependency 'FirebaseCore', '~> 10.0'
  46. s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 7.8'
  47. s.dependency 'GoogleUtilities/Environment', '~> 7.8'
  48. s.dependency 'GTMSessionFetcher/Core', '>= 2.1', '< 4.0'
  49. # Using environment variable because of the dependency on the unpublished
  50. # HeartbeatLoggingTestUtils.
  51. if ENV['POD_LIB_LINT_ONLY'] && ENV['POD_LIB_LINT_ONLY'] == '1' then
  52. s.test_spec 'unit' do |unit_tests|
  53. unit_tests.scheme = { :code_coverage => true }
  54. # Unit tests can't run on watchOS.
  55. unit_tests.platforms = {
  56. :ios => ios_deployment_target,
  57. :osx => osx_deployment_target,
  58. :tvos => tvos_deployment_target
  59. }
  60. unit_tests.source_files = 'FirebaseAuth/Tests/Unit/*.[mh]'
  61. unit_tests.osx.exclude_files = [
  62. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenManagerTests.m',
  63. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenTests.m',
  64. 'FirebaseAuth/Tests/Unit/FIRAuthAppCredentialManagerTests.m',
  65. 'FirebaseAuth/Tests/Unit/FIRAuthNotificationManagerTests.m',
  66. 'FirebaseAuth/Tests/Unit/FIRAuthURLPresenterTests.m',
  67. 'FirebaseAuth/Tests/Unit/FIREmailLink*',
  68. 'FirebaseAuth/Tests/Unit/FIRPhoneAuthProviderTests.m',
  69. 'FirebaseAuth/Tests/Unit/FIRSendVerificationCode*',
  70. 'FirebaseAuth/Tests/Unit/FIRSignInWithGameCenterTests.m',
  71. 'FirebaseAuth/Tests/Unit/FIRVerifyClient*',
  72. 'FirebaseAuth/Tests/Unit/FIRVerifyPhoneNumber*',
  73. 'FirebaseAuth/Tests/Unit/FIROAuthProviderTests.m',
  74. 'FirebaseAuth/Tests/Unit/FIRMultiFactorResolverTests.m',
  75. ]
  76. unit_tests.tvos.exclude_files = [
  77. 'FirebaseAuth/Tests/Unit/FIRAuthAPNSTokenManagerTests.m',
  78. 'FirebaseAuth/Tests/Unit/FIRAuthNotificationManagerTests.m',
  79. 'FirebaseAuth/Tests/Unit/FIRAuthURLPresenterTests.m',
  80. 'FirebaseAuth/Tests/Unit/FIREmailLink*',
  81. 'FirebaseAuth/Tests/Unit/FIRPhoneAuthProviderTests.m',
  82. 'FirebaseAuth/Tests/Unit/FIRSendVerificationCode*',
  83. 'FirebaseAuth/Tests/Unit/FIRSignInWithGameCenterTests.m',
  84. 'FirebaseAuth/Tests/Unit/FIRVerifyClient*',
  85. 'FirebaseAuth/Tests/Unit/FIRVerifyPhoneNumber*',
  86. 'FirebaseAuth/Tests/Unit/FIROAuthProviderTests.m',
  87. 'FirebaseAuth/Tests/Unit/FIRMultiFactorResolverTests.m',
  88. ]
  89. # app_host is needed for tests with keychain
  90. unit_tests.requires_app_host = true
  91. unit_tests.dependency 'OCMock'
  92. unit_tests.dependency 'HeartbeatLoggingTestUtils'
  93. # This pre-processor directive is used to selectively disable keychain
  94. # related code that blocks unit testing on macOS.
  95. s.osx.pod_target_xcconfig = {
  96. 'GCC_PREPROCESSOR_DEFINITIONS' => 'FIREBASE_AUTH_MACOS_TESTING=1'
  97. }
  98. end
  99. end
  100. end