From bfaa4b1dd61b89c00e0e4304f5dfe0dca8c5bf85 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 17 Jun 2025 20:51:30 -0400 Subject: [PATCH 1/3] [Core] Deprecate '-[FIROptions deepLinkURLScheme]' API --- FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h b/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h index 14e60fcde33..db1570a083c 100644 --- a/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h +++ b/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h @@ -83,7 +83,7 @@ NS_SWIFT_NAME(FirebaseOptions) /** * The URL scheme used to set up Durable Deep Link service. */ -@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme; +@property(nonatomic, copy, nullable) NSString *deepLinkURLScheme DEPRECATED_ATTRIBUTE; /** * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com". From ead8c4521007bce6e3f8d3c5d2100cf967423fc3 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 17 Jun 2025 23:01:49 -0400 Subject: [PATCH 2/3] use ivars to avoid triggering deprecation warning from getter --- FirebaseCore/Sources/FIROptions.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/FirebaseCore/Sources/FIROptions.m b/FirebaseCore/Sources/FIROptions.m index bfaeff1620e..da46dce3528 100644 --- a/FirebaseCore/Sources/FIROptions.m +++ b/FirebaseCore/Sources/FIROptions.m @@ -160,7 +160,7 @@ - (id)copyWithZone:(NSZone *)zone { FIROptions *newOptions = [(FIROptions *)[[self class] allocWithZone:zone] initInternalWithOptionsDictionary:self.optionsDictionary]; if (newOptions) { - newOptions.deepLinkURLScheme = self.deepLinkURLScheme; + newOptions->_deepLinkURLScheme = self->_deepLinkURLScheme; newOptions.appGroupID = self.appGroupID; newOptions.editingLocked = self.isEditingLocked; newOptions.usingOptionsFromDefaultPlist = self.usingOptionsFromDefaultPlist; @@ -357,8 +357,8 @@ - (BOOL)isEqualToOptions:(FIROptions *)options { // Validate extra properties not contained in the dictionary. Only validate it if one of the // objects has the property set. - if ((options.deepLinkURLScheme != nil || self.deepLinkURLScheme != nil) && - ![options.deepLinkURLScheme isEqualToString:self.deepLinkURLScheme]) { + if ((options->_deepLinkURLScheme != nil || self->_deepLinkURLScheme != nil) && + ![options->_deepLinkURLScheme isEqualToString:self->_deepLinkURLScheme]) { return NO; } @@ -384,7 +384,7 @@ - (NSUInteger)hash { // Note: `self.analyticsOptionsDictionary` was left out here since it solely relies on the // contents of the main bundle's `Info.plist`. We should avoid reading that file and the contents // should be identical. - return self.optionsDictionary.hash ^ self.deepLinkURLScheme.hash ^ self.appGroupID.hash; + return self->_deepLinkURLScheme.hash ^ self->_deepLinkURLScheme.hash ^ self.appGroupID.hash; } #pragma mark - Internal instance methods From 7a82d5c2f4f63d01b1c89b15ea0effc8bef3c0b8 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 17 Jun 2025 23:17:21 -0400 Subject: [PATCH 3/3] Update FirebaseCore/Sources/FIROptions.m --- FirebaseCore/Sources/FIROptions.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FirebaseCore/Sources/FIROptions.m b/FirebaseCore/Sources/FIROptions.m index da46dce3528..16fdb6f41bc 100644 --- a/FirebaseCore/Sources/FIROptions.m +++ b/FirebaseCore/Sources/FIROptions.m @@ -384,7 +384,7 @@ - (NSUInteger)hash { // Note: `self.analyticsOptionsDictionary` was left out here since it solely relies on the // contents of the main bundle's `Info.plist`. We should avoid reading that file and the contents // should be identical. - return self->_deepLinkURLScheme.hash ^ self->_deepLinkURLScheme.hash ^ self.appGroupID.hash; + return self.optionsDictionary.hash ^ self->_deepLinkURLScheme.hash ^ self.appGroupID.hash; } #pragma mark - Internal instance methods