Skip to content

Commit

Permalink
Merge branch 'main' into pb-config-v2
Browse files Browse the repository at this point in the history
  • Loading branch information
ncooke3 authored Sep 13, 2024
2 parents 3e6cd37 + bf29b4b commit d8c2e06
Show file tree
Hide file tree
Showing 89 changed files with 674 additions and 323 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/notice_generation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ jobs:
with:
pods: ${{ env.PODS }}
sources: "https://github.com/firebase/SpecsTesting,https://github.com/firebase/SpecsStaging,https://cdn.cocoapods.org"
min-ios-version: "13.0"
# This should match the highest minimum supported iOS version.
min-ios-version: "15.0"
search-local-pod-version: true
notices-path: ${{ env.NOTICES_PATH }}
- name: Create a pull request
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/vertexai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,29 @@ jobs:
retry_wait_seconds: 120
command: scripts/build.sh FirebaseVertexAIIntegration ${{ matrix.target }} spm

pod-lib-lint:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
strategy:
matrix:
target: [ios]
os: [macos-14]
include:
- os: macos-14
xcode: Xcode_15.2
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Clone mock responses
run: scripts/update_vertexai_responses.sh
- uses: ruby/setup-ruby@v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Xcode
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
- name: Build and test
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseVertexAI.podspec --platforms=${{ matrix.target }}

sample:
strategy:
matrix:
Expand Down
1 change: 1 addition & 0 deletions CoreOnly/NOTICES
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ FirebaseRemoteConfig
FirebaseRemoteConfigInterop
FirebaseSessions
FirebaseStorage
FirebaseVertexAI
GTMSessionFetcher
GoogleDataTransport
PromisesObjC
Expand Down
48 changes: 24 additions & 24 deletions Firebase.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Firebase'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Firebase'

s.description = <<-DESC
Expand Down Expand Up @@ -36,14 +36,14 @@ Simplify your app development, grow your user base, and monetize more effectivel
ss.ios.deployment_target = '12.0'
ss.osx.deployment_target = '10.15'
ss.tvos.deployment_target = '13.0'
ss.ios.dependency 'FirebaseAnalytics', '~> 11.2.0'
ss.osx.dependency 'FirebaseAnalytics', '~> 11.2.0'
ss.tvos.dependency 'FirebaseAnalytics', '~> 11.2.0'
ss.ios.dependency 'FirebaseAnalytics', '~> 11.3.0'
ss.osx.dependency 'FirebaseAnalytics', '~> 11.3.0'
ss.tvos.dependency 'FirebaseAnalytics', '~> 11.3.0'
ss.dependency 'Firebase/CoreOnly'
end

s.subspec 'CoreOnly' do |ss|
ss.dependency 'FirebaseCore', '11.2.0'
ss.dependency 'FirebaseCore', '11.3.0'
ss.source_files = 'CoreOnly/Sources/Firebase.h'
ss.preserve_paths = 'CoreOnly/Sources/module.modulemap'
if ENV['FIREBASE_POD_REPO_FOR_DEV_POD'] then
Expand Down Expand Up @@ -79,13 +79,13 @@ Simplify your app development, grow your user base, and monetize more effectivel
ss.ios.deployment_target = '12.0'
ss.osx.deployment_target = '10.15'
ss.tvos.deployment_target = '13.0'
ss.dependency 'FirebaseAnalytics/WithoutAdIdSupport', '~> 11.2.0'
ss.dependency 'FirebaseAnalytics/WithoutAdIdSupport', '~> 11.3.0'
ss.dependency 'Firebase/CoreOnly'
end

s.subspec 'ABTesting' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseABTesting', '~> 11.2.0'
ss.dependency 'FirebaseABTesting', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -95,13 +95,13 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'AppDistribution' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.ios.dependency 'FirebaseAppDistribution', '~> 11.2.0-beta'
ss.ios.dependency 'FirebaseAppDistribution', '~> 11.3.0-beta'
ss.ios.deployment_target = '13.0'
end

s.subspec 'AppCheck' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseAppCheck', '~> 11.2.0'
ss.dependency 'FirebaseAppCheck', '~> 11.3.0'
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
ss.tvos.deployment_target = '13.0'
Expand All @@ -110,7 +110,7 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'Auth' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseAuth', '~> 11.2.0'
ss.dependency 'FirebaseAuth', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -120,7 +120,7 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'Crashlytics' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseCrashlytics', '~> 11.2.0'
ss.dependency 'FirebaseCrashlytics', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '12.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -130,7 +130,7 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'Database' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseDatabase', '~> 11.2.0'
ss.dependency 'FirebaseDatabase', '~> 11.3.0'
# Standard platforms PLUS watchOS 7.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -140,21 +140,21 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'DynamicLinks' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.ios.dependency 'FirebaseDynamicLinks', '~> 11.2.0'
ss.ios.dependency 'FirebaseDynamicLinks', '~> 11.3.0'
ss.ios.deployment_target = '13.0'
end

s.subspec 'Firestore' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseFirestore', '~> 11.2.0'
ss.dependency 'FirebaseFirestore', '~> 11.3.0'
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
ss.tvos.deployment_target = '13.0'
end

s.subspec 'Functions' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseFunctions', '~> 11.2.0'
ss.dependency 'FirebaseFunctions', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -164,20 +164,20 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'InAppMessaging' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.ios.dependency 'FirebaseInAppMessaging', '~> 11.2.0-beta'
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 11.2.0-beta'
ss.ios.dependency 'FirebaseInAppMessaging', '~> 11.3.0-beta'
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 11.3.0-beta'
ss.ios.deployment_target = '13.0'
ss.tvos.deployment_target = '13.0'
end

s.subspec 'Installations' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseInstallations', '~> 11.2.0'
ss.dependency 'FirebaseInstallations', '~> 11.3.0'
end

s.subspec 'Messaging' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseMessaging', '~> 11.2.0'
ss.dependency 'FirebaseMessaging', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -187,7 +187,7 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'MLModelDownloader' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseMLModelDownloader', '~> 11.2.0-beta'
ss.dependency 'FirebaseMLModelDownloader', '~> 11.3.0-beta'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -197,15 +197,15 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'Performance' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.ios.dependency 'FirebasePerformance', '~> 11.2.0'
ss.tvos.dependency 'FirebasePerformance', '~> 11.2.0'
ss.ios.dependency 'FirebasePerformance', '~> 11.3.0'
ss.tvos.dependency 'FirebasePerformance', '~> 11.3.0'
ss.ios.deployment_target = '13.0'
ss.tvos.deployment_target = '13.0'
end

s.subspec 'RemoteConfig' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseRemoteConfig', '~> 11.2.0'
ss.dependency 'FirebaseRemoteConfig', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand All @@ -215,7 +215,7 @@ Simplify your app development, grow your user base, and monetize more effectivel

s.subspec 'Storage' do |ss|
ss.dependency 'Firebase/CoreOnly'
ss.dependency 'FirebaseStorage', '~> 11.2.0'
ss.dependency 'FirebaseStorage', '~> 11.3.0'
# Standard platforms PLUS watchOS.
ss.ios.deployment_target = '13.0'
ss.osx.deployment_target = '10.15'
Expand Down
2 changes: 1 addition & 1 deletion FirebaseABTesting.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseABTesting'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Firebase ABTesting'

s.description = <<-DESC
Expand Down
6 changes: 3 additions & 3 deletions FirebaseAnalytics.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAnalytics'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Firebase Analytics for iOS'

s.description = <<-DESC
Expand Down Expand Up @@ -37,12 +37,12 @@ Pod::Spec.new do |s|
s.default_subspecs = 'AdIdSupport'

s.subspec 'AdIdSupport' do |ss|
ss.dependency 'GoogleAppMeasurement', '11.2.0'
ss.dependency 'GoogleAppMeasurement', '11.3.0'
ss.vendored_frameworks = 'Frameworks/FirebaseAnalytics.xcframework'
end

s.subspec 'WithoutAdIdSupport' do |ss|
ss.dependency 'GoogleAppMeasurement/WithoutAdIdSupport', '11.2.0'
ss.dependency 'GoogleAppMeasurement/WithoutAdIdSupport', '11.3.0'
ss.vendored_frameworks = 'Frameworks/FirebaseAnalytics.xcframework'
end

Expand Down
4 changes: 2 additions & 2 deletions FirebaseAnalyticsOnDeviceConversion.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAnalyticsOnDeviceConversion'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'On device conversion measurement plugin for FirebaseAnalytics. Not intended for direct use.'

s.description = <<-DESC
Expand All @@ -18,7 +18,7 @@ Pod::Spec.new do |s|

s.cocoapods_version = '>= 1.12.0'

s.dependency 'GoogleAppMeasurementOnDeviceConversion', '11.2.0'
s.dependency 'GoogleAppMeasurementOnDeviceConversion', '11.3.0'

s.static_framework = true

Expand Down
2 changes: 1 addition & 1 deletion FirebaseAppCheck.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAppCheck'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Firebase App Check SDK.'

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion FirebaseAppCheckInterop.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAppCheckInterop'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Interfaces that allow other Firebase SDKs to use AppCheck functionality.'

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion FirebaseAppDistribution.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAppDistribution'
s.version = '11.2.0-beta'
s.version = '11.3.0-beta'
s.summary = 'App Distribution for Firebase iOS SDK.'

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion FirebaseAuth.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FirebaseAuth'
s.version = '11.2.0'
s.version = '11.3.0'
s.summary = 'Apple platform client for Firebase Authentication'

s.description = <<-DESC
Expand Down
3 changes: 3 additions & 0 deletions FirebaseAuth/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
in methods and a `nil` error. In such cases, an empty array is instead
returned with the `nil` error. (#13550)
- [Fixed] Fixed user session persistence in multi tenant projects. Introduced in 11.0.0. (#13565)
- [Fixed] Fixed encoding crash that occurs when using TOTP multi-factor
authentication. Note that this fix will not be in the 11.2.0 zip and Carthage
distributions, but will be included from 11.3.0 onwards. (#13591)

# 11.1.0
- [fixed] Fixed `Swift.error` conformance for `AuthErrorCode`. (#13430)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import Foundation

class AuthProtoMFAEnrollment: NSObject, AuthProto {
let phoneInfo: String?
// In practice, this will be an empty dictionary. The presence of which
// indicates TOTP MFA enrollment rather than phone MFA enrollment.
let totpInfo: NSObject?
let mfaEnrollmentID: String?
let displayName: String?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,18 @@ import Foundation
///
/// This class is available on iOS only.
class TOTPMultiFactorInfo: MultiFactorInfo {
/// This is the totp info for the second factor.
let totpInfo: NSObject?

/// Initialize the AuthProtoMFAEnrollment instance with proto.
/// - Parameter proto: AuthProtoMFAEnrollment proto object.
init(proto: AuthProtoMFAEnrollment) {
totpInfo = proto.totpInfo
super.init(proto: proto, factorID: PhoneMultiFactorInfo.TOTPMultiFactorID)
}

@available(*, unavailable)
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
super.init(coder: coder)
}

override class var supportsSecureCoding: Bool {
super.supportsSecureCoding
}
}
#endif
3 changes: 2 additions & 1 deletion FirebaseAuth/Sources/Swift/Utilities/AuthErrorUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,8 @@ class AuthErrorUtils: NSObject {
}

static func keychainError(function: String, status: OSStatus) -> Error {
let reason = "\(function) (\(status))"
let message = SecCopyErrorMessageString(status, nil) as String? ?? ""
let reason = "\(function) (\(status)) \(message)"
return error(code: .keychainError, userInfo: [NSLocalizedFailureReasonErrorKey: reason])
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public extension UIViewController {
}
}

func displayError(_ error: (any Error)?, from function: StaticString = #function) {
@MainActor func displayError(_ error: (any Error)?, from function: StaticString = #function) {
guard let error = error else { return }
print("ⓧ Error in \(function): \(error.localizedDescription)")
let message = "\(error.localizedDescription)\n\n Occurred in \(function)"
Expand Down
Loading

0 comments on commit d8c2e06

Please sign in to comment.