Skip to content

Commit 8f44bbc

Browse files
authored
Fix FIROptions module organization (#13765)
1 parent b2f1e26 commit 8f44bbc

33 files changed

+109
-100
lines changed

Diff for: .github/workflows/installations.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
run: |
5656
export FIS_INTEGRATION_TESTS_REQUIRED=${{ steps.secrets.outputs.val }}
5757
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseInstallations.podspec \
58-
--platforms=${{ matrix.target }} --test-specs=--platforms=${{ matrix.test-specs }}
58+
--platforms=${{ matrix.target }} --test-specs=${{ matrix.test-specs }}
5959
6060
spm-package-resolved:
6161
env:

Diff for: FirebaseABTesting/Tests/Unit/ABTConditionalUserPropertyControllerTest.m

+3-5
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,9 @@ - (void)setUp {
6565

6666
// Must initialize FIRApp before calling set experiment as Firebase Analytics internal event
6767
// logging requires it.
68-
NSDictionary *optionsDictionary = @{
69-
kFIRGoogleAppID : @"1:123456789012:ios:1234567890123456",
70-
@"GCM_SENDER_ID" : @"123456789012"
71-
};
72-
FIROptions *options = [[FIROptions alloc] initInternalWithOptionsDictionary:optionsDictionary];
68+
FIROptions *options =
69+
[[FIROptions alloc] initWithGoogleAppID:@"1:123456789012:ios:1234567890123456"
70+
GCMSenderID:@"123456789012"];
7371
[FIRApp configureWithOptions:options];
7472
}
7573

Diff for: FirebaseAppCheck/Tests/Unit/Core/FIRAppCheckValidatorTests.m

+11-13
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@
1717
#import <XCTest/XCTest.h>
1818

1919
#import "FirebaseAppCheck/Sources/Core/FIRAppCheckValidator.h"
20-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
20+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h"
2121

2222
@interface FIRAppCheckValidatorTests : XCTestCase
2323
@end
2424

2525
@implementation FIRAppCheckValidatorTests
2626

2727
- (void)test_tokenExchangeMissingFieldsInOptions_noMissingFields {
28-
FIROptions *options = [[FIROptions alloc] initInternalWithOptionsDictionary:@{
29-
kFIRGoogleAppID : @"TEST_GoogleAppID",
30-
kFIRAPIKey : @"TEST_APIKey",
31-
kFIRProjectID : @"TEST_ProjectID"
32-
}];
28+
FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@"TEST_GoogleAppID"
29+
GCMSenderID:@"TEST_GCMSenderID"];
30+
options.APIKey = @"TEST_APIKey";
31+
options.projectID = @"TEST_ProjectID";
3332

3433
NSArray *missingFields = [FIRAppCheckValidator tokenExchangeMissingFieldsInOptions:options];
3534

@@ -38,11 +37,10 @@ - (void)test_tokenExchangeMissingFieldsInOptions_noMissingFields {
3837

3938
- (void)test_tokenExchangeMissingFieldsInOptions_singleMissingField {
4039
// Google App ID is empty:
41-
FIROptions *options = [[FIROptions alloc] initInternalWithOptionsDictionary:@{
42-
kFIRGoogleAppID : @"",
43-
kFIRAPIKey : @"TEST_APIKey",
44-
kFIRProjectID : @"TEST_ProjectID"
45-
}];
40+
FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@""
41+
GCMSenderID:@"TEST_GCMSenderID"];
42+
options.APIKey = @"TEST_APIKey";
43+
options.projectID = @"TEST_ProjectID";
4644

4745
NSArray *missingFields = [FIRAppCheckValidator tokenExchangeMissingFieldsInOptions:options];
4846

@@ -51,8 +49,8 @@ - (void)test_tokenExchangeMissingFieldsInOptions_singleMissingField {
5149

5250
- (void)test_tokenExchangeMissingFieldsInOptions_multipleMissingFields {
5351
// Google App ID is empty, and API Key and Project ID are not set:
54-
FIROptions *options =
55-
[[FIROptions alloc] initInternalWithOptionsDictionary:@{kFIRGoogleAppID : @""}];
52+
FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@""
53+
GCMSenderID:@"TEST_GCMSenderID"];
5654

5755
NSArray *missingFields = [FIRAppCheckValidator tokenExchangeMissingFieldsInOptions:options];
5856

Diff for: FirebaseAppDistribution/Sources/FIRFADLogger.m

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#import "FirebaseAppDistribution/Sources/FIRFADLogger.h"
1616
#import "FirebaseCore/Extension/FIRLogger.h"
17+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h"
1718

1819
FIRLoggerService kFIRLoggerAppDistribution = @"[FirebaseAppDistribution]";
1920

Diff for: FirebaseAuth.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ supports email and password accounts, as well as several 3rd party authenticatio
5858
s.ios.framework = 'SafariServices'
5959
s.dependency 'FirebaseAuthInterop', '~> 11.0'
6060
s.dependency 'FirebaseAppCheckInterop', '~> 11.0'
61-
s.dependency 'FirebaseCore', '~> 11.0'
62-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
61+
s.dependency 'FirebaseCore', '~> 11.4'
62+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
6363
s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0'
6464
s.dependency 'GoogleUtilities/Environment', '~> 8.0'
6565
s.dependency 'GTMSessionFetcher/Core', '>= 3.4', '< 5.0'

Diff for: FirebaseCore/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Firebase 11.4.0
2+
- [fixed] Fixed issue building documentation with some Firebase products. (#13756)
3+
14
# Firebase 11.0.0
25
- [changed] **Breaking change**: Firebase's minimum supported versions have
36
updated for the following platforms:

Diff for: FirebaseCore/Extension/FIRAppInternal.h

+21
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,27 @@ extern NSString *const kFIRAppNameKey;
4040
extern NSString *const kFIRGoogleAppIDKey;
4141
extern NSString *const kFirebaseCoreErrorDomain;
4242

43+
/**
44+
* Keys for the strings in the plist file.
45+
*/
46+
extern NSString *const kFIRAPIKey;
47+
extern NSString *const kFIRTrackingID;
48+
extern NSString *const kFIRGoogleAppID;
49+
extern NSString *const kFIRClientID;
50+
extern NSString *const kFIRGCMSenderID;
51+
extern NSString *const kFIRAndroidClientID;
52+
extern NSString *const kFIRDatabaseURL;
53+
extern NSString *const kFIRStorageBucket;
54+
extern NSString *const kFIRBundleID;
55+
extern NSString *const kFIRProjectID;
56+
57+
/**
58+
* Keys for the plist file name
59+
*/
60+
extern NSString *const kServiceInfoFileName;
61+
62+
extern NSString *const kServiceInfoFileType;
63+
4364
/**
4465
* The format string for the `UserDefaults` key used for storing the data collection enabled flag.
4566
* This includes formatting to append the `FirebaseApp`'s name.

Diff for: FirebaseCore/Extension/FIRLogger.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#import <Foundation/Foundation.h>
1818

19-
#import <FirebaseCore/FIRLoggerLevel.h>
19+
typedef NS_ENUM(NSInteger, FIRLoggerLevel);
2020

2121
NS_ASSUME_NONNULL_BEGIN
2222

@@ -132,7 +132,7 @@ NS_SWIFT_NAME(FirebaseLogger)
132132
///
133133
/// - Parameters:
134134
/// - level: The log level to use (defined by `FirebaseLoggerLevel` enum values).
135-
/// - service: The service name of type `FirebaseLoggerService`.
135+
/// - category: The service name of type `FirebaseLoggerService`.
136136
/// - code: The message code. Starting with "I-" which means iOS, followed by a capitalized
137137
/// three-character service identifier and a six digit integer message ID that is unique within
138138
/// the service. An example of the message code is @"I-COR000001".

Diff for: FirebaseCore/Extension/FirebaseCoreInternal.h

-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,3 @@
2121
#import "FIRHeartbeatLogger.h"
2222
#import "FIRLibrary.h"
2323
#import "FIRLogger.h"
24-
#import "FIROptionsInternal.h"

Diff for: FirebaseCore/Sources/FIRApp.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
#import "FirebaseCore/Extension/FIRHeartbeatLogger.h"
3939
#import "FirebaseCore/Extension/FIRLibrary.h"
4040
#import "FirebaseCore/Extension/FIRLogger.h"
41-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
41+
#import "FirebaseCore/Sources/FIROptionsInternal.h"
42+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h"
4243
#import "FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h"
4344

4445
#import <GoogleUtilities/GULAppEnvironmentUtil.h>

Diff for: FirebaseCore/Sources/FIRComponentContainer.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
#import "FirebaseCore/Extension/FIRComponent.h"
2121
#import "FirebaseCore/Extension/FIRLibrary.h"
2222
#import "FirebaseCore/Extension/FIRLogger.h"
23-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
23+
#import "FirebaseCore/Sources/FIROptionsInternal.h"
24+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h"
2425

2526
NS_ASSUME_NONNULL_BEGIN
2627

Diff for: FirebaseCore/Sources/FIROptions.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#import "FirebaseCore/Extension/FIRAppInternal.h"
1616
#import "FirebaseCore/Extension/FIRLogger.h"
17-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
1817
#import "FirebaseCore/Sources/FIRBundleUtil.h"
18+
#import "FirebaseCore/Sources/FIROptionsInternal.h"
1919
#import "FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h"
2020

2121
// Keys for the strings in the plist file.

Diff for: FirebaseCore/Extension/FIROptionsInternal.h renamed to FirebaseCore/Sources/FIROptionsInternal.h

+1-22
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
#import <FirebaseCore/FIROptions.h>
18-
19-
/**
20-
* Keys for the strings in the plist file.
21-
*/
22-
extern NSString *const kFIRAPIKey;
23-
extern NSString *const kFIRTrackingID;
24-
extern NSString *const kFIRGoogleAppID;
25-
extern NSString *const kFIRClientID;
26-
extern NSString *const kFIRGCMSenderID;
27-
extern NSString *const kFIRAndroidClientID;
28-
extern NSString *const kFIRDatabaseURL;
29-
extern NSString *const kFIRStorageBucket;
30-
extern NSString *const kFIRBundleID;
31-
extern NSString *const kFIRProjectID;
32-
33-
/**
34-
* Keys for the plist file name
35-
*/
36-
extern NSString *const kServiceInfoFileName;
37-
38-
extern NSString *const kServiceInfoFileType;
17+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h"
3918

4019
/**
4120
* This header file exposes the initialization of FirebaseOptions to internal use.

Diff for: FirebaseCore/Tests/Unit/FIRAppTest.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
#import "FirebaseCore/Extension/FIRAppInternal.h"
3232
#import "FirebaseCore/Extension/FIRComponentType.h"
3333
#import "FirebaseCore/Extension/FIRHeartbeatLogger.h"
34-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
3534
#import "FirebaseCore/Sources/FIRAnalyticsConfiguration.h"
35+
#import "FirebaseCore/Sources/FIROptionsInternal.h"
3636
#import "SharedTestUtilities/FIROptionsMock.h"
3737

3838
NSString *const kFIRTestAppName1 = @"test_app_name_1";

Diff for: FirebaseCore/Tests/Unit/FIRLoggerTest.m

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
// No test should include both includes.
2222
#import <GoogleUtilities/GULLogger.h>
2323
#import "FirebaseCore/Extension/FIRLogger.h"
24+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h"
2425

2526
#import <asl.h>
2627

Diff for: FirebaseCore/Tests/Unit/FIROptionsTest.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
#import "FirebaseCore/Tests/Unit/FIRTestCase.h"
1616

1717
#import "FirebaseCore/Extension/FIRAppInternal.h"
18-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
1918
#import "FirebaseCore/Sources/FIRBundleUtil.h"
19+
#import "FirebaseCore/Sources/FIROptionsInternal.h"
2020
#import "FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h"
2121
#import "SharedTestUtilities/FIROptionsMock.h"
2222

Diff for: FirebaseCrashlytics.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Pod::Spec.new do |s|
5959
cp -f ./Crashlytics/CrashlyticsInputFiles.xcfilelist ./CrashlyticsInputFiles.xcfilelist
6060
PREPARE_COMMAND_END
6161

62-
s.dependency 'FirebaseCore', '~> 11.0'
62+
s.dependency 'FirebaseCore', '~> 11.4'
6363
s.dependency 'FirebaseInstallations', '~> 11.0'
6464
s.dependency 'FirebaseSessions', '~> 11.0'
6565
s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0'

Diff for: FirebaseDynamicLinks/Sources/FIRDynamicLinks.m

+9-24
Original file line numberDiff line numberDiff line change
@@ -166,30 +166,15 @@ - (void)configureDynamicLinks:(FIRApp *)app {
166166
userInfo:errorDict];
167167
}
168168
if (error) {
169-
NSString *message = nil;
170-
if (options.usingOptionsFromDefaultPlist) {
171-
// Configured using plist file
172-
message = [NSString
173-
stringWithFormat:
174-
@"Firebase Dynamic Links has stopped your project "
175-
@"because there are missing or incorrect values provided in %@.%@ that may "
176-
@"prevent your app from behaving as expected:\n\n"
177-
@"Error: %@\n\n"
178-
@"Please fix these issues to ensure that Firebase is correctly configured in "
179-
@"your project.",
180-
kServiceInfoFileName, kServiceInfoFileType, error.localizedFailureReason];
181-
} else {
182-
// Configured manually
183-
message = [NSString
184-
stringWithFormat:
185-
@"Firebase Dynamic Links has stopped your project "
186-
@"because there are incorrect values provided in Firebase's configuration "
187-
@"options that may prevent your app from behaving as expected:\n\n"
188-
@"Error: %@\n\n"
189-
@"Please fix these issues to ensure that Firebase is correctly configured in "
190-
@"your project.",
191-
error.localizedFailureReason];
192-
}
169+
NSString *message =
170+
[NSString stringWithFormat:
171+
@"Firebase Dynamic Links has stopped your project "
172+
@"because there are incorrect values provided in Firebase's configuration "
173+
@"options that may prevent your app from behaving as expected:\n\n"
174+
@"Error: %@\n\n"
175+
@"Please fix these issues to ensure that Firebase is correctly configured in "
176+
@"your project.",
177+
error.localizedFailureReason];
193178
[NSException raise:kFirebaseDurableDeepLinkErrorDomain format:@"%@", message];
194179
}
195180
[self checkForCustomDomainEntriesInInfoPlist];

Diff for: FirebaseFirestore.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling,
3535
"#{s.module_name}_Privacy" => 'Firestore/Swift/Source/Resources/PrivacyInfo.xcprivacy'
3636
}
3737

38-
s.dependency 'FirebaseCore', '~> 11.0'
39-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
38+
s.dependency 'FirebaseCore', '~> 11.4'
39+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
4040
s.dependency 'FirebaseFirestoreInternal', '11.4.0'
4141
s.dependency 'FirebaseSharedSwift', '~> 11.0'
4242

Diff for: FirebaseFunctions.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Cloud Functions for Firebase.
3535
'FirebaseFunctions/Sources/**/*.swift',
3636
]
3737

38-
s.dependency 'FirebaseCore', '~> 11.0'
39-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
38+
s.dependency 'FirebaseCore', '~> 11.4'
39+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
4040
s.dependency 'FirebaseAppCheckInterop', '~> 11.0'
4141
s.dependency 'FirebaseAuthInterop', '~> 11.0'
4242
s.dependency 'FirebaseMessagingInterop', '~> 11.0'

Diff for: FirebaseInstallations/Source/Tests/Unit/FIRInstallationsIDControllerTests.m

+4-6
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,10 @@ - (void)tearDown {
9797
#pragma mark - Initialization
9898

9999
- (void)testInitWhenProjectIDSetThenItIsPassedToAPIService {
100-
FIROptions *options = [[FIROptions alloc] initInternalWithOptionsDictionary:@{
101-
kFIRAPIKey : @"api-key",
102-
kFIRProjectID : @"project-id",
103-
kFIRGoogleAppID : @"app-id",
104-
kFIRGCMSenderID : @"sender-id"
105-
}];
100+
FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@"app-id" GCMSenderID:@"sender-id"];
101+
options.projectID = @"project-id";
102+
options.APIKey = @"api-key";
103+
106104
FIRApp *app = [[FIRApp alloc] initInstanceWithName:@"app-name" options:options];
107105

108106
OCMExpect([self.mockAPIService alloc]).andReturn(self.mockAPIService);

Diff for: FirebaseMLModelDownloader.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ Pod::Spec.new do |s|
3636
]
3737

3838
s.framework = 'Foundation'
39-
s.dependency 'FirebaseCore', '~> 11.0'
40-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
39+
s.dependency 'FirebaseCore', '~> 11.4'
40+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
4141
s.dependency 'FirebaseInstallations', '~> 11.0'
4242
s.dependency 'GoogleDataTransport', '~> 10.0'
4343
s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0'

Diff for: FirebaseMessaging/Tests/UnitTests/FIRMessagingTokenInfoTest.m

+4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@
3232
static NSString *const kIID = @"eMP633ZkDYA";
3333
static BOOL const kAPNSSandbox = NO;
3434

35+
@interface FIROptions ()
36+
+ (NSDictionary *)defaultOptionsDictionary;
37+
@end
38+
3539
@interface FIRMessagingTokenInfoTest : XCTestCase
3640

3741
@property(nonatomic, strong) NSData *APNSDeviceToken;

Diff for: FirebaseSessions.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ Pod::Spec.new do |s|
3939
base_dir + 'SourcesObjC/**/*.{c,h,m,mm}',
4040
]
4141

42-
s.dependency 'FirebaseCore', '~> 11.0'
43-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
42+
s.dependency 'FirebaseCore', '~> 11.4'
43+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
4444
s.dependency 'FirebaseInstallations', '~> 11.0'
4545
s.dependency 'GoogleDataTransport', '~> 10.0'
4646
s.dependency 'GoogleUtilities/Environment', '~> 8.0'

Diff for: FirebaseStorage.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ Firebase Storage provides robust, secure file uploads and downloads from Firebas
3939

4040
s.dependency 'FirebaseAppCheckInterop', '~> 11.0'
4141
s.dependency 'FirebaseAuthInterop', '~> 11.0'
42-
s.dependency 'FirebaseCore', '~> 11.0'
43-
s.dependency 'FirebaseCoreExtension', '~> 11.0'
42+
s.dependency 'FirebaseCore', '~> 11.4'
43+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
4444
s.dependency 'GTMSessionFetcher/Core', '>= 3.4', '< 5.0'
4545
s.dependency 'GoogleUtilities/Environment', '~> 8.0'
4646

Diff for: FirebaseVertexAI.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ the Vertex AI in Firebase SDK.
4646

4747
s.dependency 'FirebaseAppCheckInterop', '~> 11.2'
4848
s.dependency 'FirebaseAuthInterop', '~> 11.2'
49-
s.dependency 'FirebaseCore', '~> 11.2'
50-
s.dependency 'FirebaseCoreExtension', '~> 11.2'
49+
s.dependency 'FirebaseCore', '~> 11.4'
50+
s.dependency 'FirebaseCoreExtension', '~> 11.4'
5151

5252
s.test_spec 'unit' do |unit_tests|
5353
unit_tests_dir = 'FirebaseVertexAI/Tests/Unit/'

Diff for: Firestore/Example/Tests/Integration/API/FIRValidationTests.mm

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <limits>
2121

2222
#import "FirebaseCore/Extension/FIRAppInternal.h"
23-
#import "FirebaseCore/Extension/FIROptionsInternal.h"
23+
#import "FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h"
2424
#import "Firestore/Example/Tests/Util/FSTHelpers.h"
2525
#import "Firestore/Example/Tests/Util/FSTIntegrationTestCase.h"
2626
#import "Firestore/Source/API/FIRFirestore+Internal.h"

0 commit comments

Comments
 (0)