Skip to content

Commit 19a9cdb

Browse files
authored
Merge branch 'firebase:main' into JesusRojass/#14478
2 parents acb5673 + 3f3a288 commit 19a9cdb

File tree

129 files changed

+51551
-354
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+51551
-354
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ReleaseTooling/ @firebase/firebase-ios-sdk-admin
22
FirebaseCore/ @firebase/firebase-ios-sdk-admin
3-
Package.swift @firebase/firebase-ios-sdk-admin
3+
/Package.swift @firebase/firebase-ios-sdk-admin
44
Dangerfile @firebase/firebase-ios-sdk-admin
55
**/Public @firebase/firebase-ios-sdk-admin
66
*.podspec @firebase/firebase-ios-sdk-admin

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ To develop Firebase software, **install**:
132132
To install [clang-format] and [mint] using [Homebrew]:
133133

134134
```console
135-
brew install clang-format@21
135+
brew install clang-format@22
136136
brew install mint
137137
```
138138

Crashlytics/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 12.11.0
2+
- [fixed] Fixed an issue where Crashlytics API calls were silently dropped if invoked immediately after Firebase initialization.
3+
14
# 12.10.0
25
- [fixed] Fixed a deadlock in Firebase Sessions where the main thread could
36
block waiting for a lock held by a background thread during settings

Crashlytics/Crashlytics/Components/FIRCLSApplication.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ id FIRCLSApplicationSharedInstance(void) {
156156
#endif
157157

158158
id<NSObject> FIRCLSApplicationBeginActivity(NSActivityOptions options, NSString* reason) {
159-
if ([[NSProcessInfo processInfo] respondsToSelector:@selector(beginActivityWithOptions:
160-
reason:)]) {
159+
if ([[NSProcessInfo processInfo]
160+
respondsToSelector:@selector(beginActivityWithOptions:reason:)]) {
161161
return [[NSProcessInfo processInfo] beginActivityWithOptions:options reason:reason];
162162
}
163163

Crashlytics/Crashlytics/Components/FIRCLSUserLogging.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ void FIRCLSUserLoggingRecordKeysAndValues(NSDictionary *keysAndValues,
241241
FIRCLSUserLoggingKVStorage *storage,
242242
uint32_t *counter) {
243243
if (!FIRCLSContextIsInitialized()) {
244+
FIRCLSSDKLogWarn(
245+
"Failed to write key/value pairs. Crashlytics context has not initialized yet.\n");
244246
return;
245247
}
246248

@@ -317,6 +319,8 @@ static void FIRCLSUserLoggingWriteKeysAndValues(NSDictionary *keysAndValues,
317319

318320
NSArray *FIRCLSUserLoggingStoredKeyValues(const char *path) {
319321
if (!FIRCLSContextIsInitialized()) {
322+
FIRCLSSDKLogWarn(
323+
"Failed to read key/value pairs. Crashlytics context has not initialized yet.\n");
320324
return nil;
321325
}
322326

@@ -394,6 +398,7 @@ void FIRCLSUserLoggingRecordError(NSError *error,
394398
}
395399

396400
if (!FIRCLSContextIsInitialized()) {
401+
FIRCLSSDKLogWarn("Failed to record error. Crashlytics context has not initialized yet.\n");
397402
return;
398403
}
399404

Crashlytics/Crashlytics/FIRCrashlytics.m

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,10 @@ - (void)processDidCrashDuringPreviousExecution {
311311

312312
#pragma mark - API: Logging
313313
- (void)log:(NSString *)msg {
314-
FIRCLSLog(@"%@", msg);
314+
[self waitForContextInit:@"log"
315+
callback:^{
316+
FIRCLSLog(@"%@", msg);
317+
}];
315318
}
316319

317320
- (void)logWithFormat:(NSString *)format, ... {
@@ -354,17 +357,26 @@ - (void)deleteUnsentReports {
354357

355358
#pragma mark - API: setUserID
356359
- (void)setUserID:(nullable NSString *)userID {
357-
FIRCLSUserLoggingRecordInternalKeyValue(FIRCLSUserIdentifierKey, userID);
360+
[self waitForContextInit:@"setUserID"
361+
callback:^{
362+
FIRCLSUserLoggingRecordInternalKeyValue(FIRCLSUserIdentifierKey, userID);
363+
}];
358364
}
359365

360366
#pragma mark - API: setCustomValue
361367

362368
- (void)setCustomValue:(nullable id)value forKey:(NSString *)key {
363-
FIRCLSUserLoggingRecordUserKeyValue(key, value);
369+
[self waitForContextInit:@"setCustomValue"
370+
callback:^{
371+
FIRCLSUserLoggingRecordUserKeyValue(key, value);
372+
}];
364373
}
365374

366375
- (void)setCustomKeysAndValues:(NSDictionary *)keysAndValues {
367-
FIRCLSUserLoggingRecordUserKeysAndValues(keysAndValues);
376+
[self waitForContextInit:@"setCustomKeysAndValues"
377+
callback:^{
378+
FIRCLSUserLoggingRecordUserKeysAndValues(keysAndValues);
379+
}];
368380
}
369381

370382
#pragma mark - API: Development Platform
@@ -414,19 +426,29 @@ - (void)recordError:(NSError *)error {
414426

415427
- (void)recordError:(NSError *)error userInfo:(NSDictionary<NSString *, id> *)userInfo {
416428
NSString *rolloutsInfoJSON = [_remoteConfigManager getRolloutAssignmentsEncodedJsonString];
417-
FIRCLSUserLoggingRecordError(error, userInfo, rolloutsInfoJSON);
429+
[self waitForContextInit:@"recordError"
430+
callback:^{
431+
FIRCLSUserLoggingRecordError(error, userInfo, rolloutsInfoJSON);
432+
}];
418433
}
419434

420435
- (void)recordExceptionModel:(FIRExceptionModel *)exceptionModel {
421436
NSString *rolloutsInfoJSON = [_remoteConfigManager getRolloutAssignmentsEncodedJsonString];
422-
FIRCLSExceptionRecordModel(exceptionModel, rolloutsInfoJSON);
437+
[self waitForContextInit:@"recordExceptionModel"
438+
callback:^{
439+
FIRCLSExceptionRecordModel(exceptionModel, rolloutsInfoJSON);
440+
}];
423441
}
424442

425443
- (void)recordOnDemandExceptionModel:(FIRExceptionModel *)exceptionModel {
426-
[self.managerData.onDemandModel
427-
recordOnDemandExceptionIfQuota:exceptionModel
428-
withDataCollectionEnabled:[self.dataArbiter isCrashlyticsCollectionEnabled]
429-
usingExistingReportManager:self.existingReportManager];
444+
[self waitForContextInit:@"recordOnDemandExceptionModel"
445+
callback:^{
446+
[self.managerData.onDemandModel
447+
recordOnDemandExceptionIfQuota:exceptionModel
448+
withDataCollectionEnabled:[self.dataArbiter
449+
isCrashlyticsCollectionEnabled]
450+
usingExistingReportManager:self.existingReportManager];
451+
}];
430452
}
431453

432454
#pragma mark - FIRSessionsSubscriber
@@ -456,7 +478,7 @@ - (void)rolloutsStateDidChange:(FIRRolloutsState *_Nonnull)rolloutsState {
456478
reportID:currentReportID];
457479
}
458480

459-
#pragma mark - Private Helpsers
481+
#pragma mark - Private Helpers
460482
- (void)waitForContextInit:(NSString *)contextLog callback:(void (^)(void))callback {
461483
if (!_contextInitPromise) {
462484
FIRCLSErrorLog(@"Crashlytics method called before SDK was initialized: %@", contextLog);

Crashlytics/UnitTests/FIRCLSCompactUnwindTests.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ - (NSString*)resourcePath {
4646
NSBundle* bundle = SWIFTPM_MODULE_BUNDLE;
4747
return [bundle.resourcePath stringByAppendingPathComponent:@"Data"];
4848
#else
49-
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
49+
NSBundle* bundle = [NSBundle bundleForClass:[self class]];
5050
return bundle.resourcePath;
5151
#endif
5252
}

Crashlytics/UnitTests/FIRCLSDwarfTests.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ - (NSString*)resourcePath {
4646
NSBundle* bundle = SWIFTPM_MODULE_BUNDLE;
4747
return [bundle.resourcePath stringByAppendingPathComponent:@"Data"];
4848
#else
49-
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
49+
NSBundle* bundle = [NSBundle bundleForClass:[self class]];
5050
return bundle.resourcePath;
5151
#endif
5252
}

Firebase.podspec

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Firebase'
3-
s.version = '12.10.0'
3+
s.version = '12.11.0'
44
s.summary = 'Firebase'
55

66
s.description = <<-DESC
@@ -36,14 +36,14 @@ Simplify your app development, grow your user base, and monetize more effectivel
3636
ss.ios.deployment_target = '15.0'
3737
ss.osx.deployment_target = '10.15'
3838
ss.tvos.deployment_target = '15.0'
39-
ss.ios.dependency 'FirebaseAnalytics', '~> 12.10.0'
40-
ss.osx.dependency 'FirebaseAnalytics', '~> 12.10.0'
41-
ss.tvos.dependency 'FirebaseAnalytics', '~> 12.10.0'
39+
ss.ios.dependency 'FirebaseAnalytics', '~> 12.11.0'
40+
ss.osx.dependency 'FirebaseAnalytics', '~> 12.11.0'
41+
ss.tvos.dependency 'FirebaseAnalytics', '~> 12.11.0'
4242
ss.dependency 'Firebase/CoreOnly'
4343
end
4444

4545
s.subspec 'CoreOnly' do |ss|
46-
ss.dependency 'FirebaseCore', '~> 12.10.0'
46+
ss.dependency 'FirebaseCore', '~> 12.11.0'
4747
ss.source_files = 'CoreOnly/Sources/Firebase.h'
4848
ss.preserve_paths = 'CoreOnly/Sources/module.modulemap'
4949
if ENV['FIREBASE_POD_REPO_FOR_DEV_POD'] then
@@ -70,7 +70,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
7070

7171
s.subspec 'ABTesting' do |ss|
7272
ss.dependency 'Firebase/CoreOnly'
73-
ss.dependency 'FirebaseABTesting', '~> 12.10.0'
73+
ss.dependency 'FirebaseABTesting', '~> 12.11.0'
7474
# Standard platforms PLUS watchOS.
7575
ss.ios.deployment_target = '15.0'
7676
ss.osx.deployment_target = '10.15'
@@ -80,13 +80,13 @@ Simplify your app development, grow your user base, and monetize more effectivel
8080

8181
s.subspec 'AppDistribution' do |ss|
8282
ss.dependency 'Firebase/CoreOnly'
83-
ss.ios.dependency 'FirebaseAppDistribution', '~> 12.10.0-beta'
83+
ss.ios.dependency 'FirebaseAppDistribution', '~> 12.11.0-beta'
8484
ss.ios.deployment_target = '15.0'
8585
end
8686

8787
s.subspec 'AppCheck' do |ss|
8888
ss.dependency 'Firebase/CoreOnly'
89-
ss.dependency 'FirebaseAppCheck', '~> 12.10.0'
89+
ss.dependency 'FirebaseAppCheck', '~> 12.11.0'
9090
ss.ios.deployment_target = '15.0'
9191
ss.osx.deployment_target = '10.15'
9292
ss.tvos.deployment_target = '15.0'
@@ -95,7 +95,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
9595

9696
s.subspec 'Auth' do |ss|
9797
ss.dependency 'Firebase/CoreOnly'
98-
ss.dependency 'FirebaseAuth', '~> 12.10.0'
98+
ss.dependency 'FirebaseAuth', '~> 12.11.0'
9999
# Standard platforms PLUS watchOS.
100100
ss.ios.deployment_target = '15.0'
101101
ss.osx.deployment_target = '10.15'
@@ -105,7 +105,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
105105

106106
s.subspec 'Crashlytics' do |ss|
107107
ss.dependency 'Firebase/CoreOnly'
108-
ss.dependency 'FirebaseCrashlytics', '~> 12.10.0'
108+
ss.dependency 'FirebaseCrashlytics', '~> 12.11.0'
109109
# Standard platforms PLUS watchOS.
110110
ss.ios.deployment_target = '15.0'
111111
ss.osx.deployment_target = '10.15'
@@ -115,7 +115,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
115115

116116
s.subspec 'Database' do |ss|
117117
ss.dependency 'Firebase/CoreOnly'
118-
ss.dependency 'FirebaseDatabase', '~> 12.10.0'
118+
ss.dependency 'FirebaseDatabase', '~> 12.11.0'
119119
# Standard platforms PLUS watchOS 7.
120120
ss.ios.deployment_target = '15.0'
121121
ss.osx.deployment_target = '10.15'
@@ -125,15 +125,15 @@ Simplify your app development, grow your user base, and monetize more effectivel
125125

126126
s.subspec 'Firestore' do |ss|
127127
ss.dependency 'Firebase/CoreOnly'
128-
ss.dependency 'FirebaseFirestore', '~> 12.10.0'
128+
ss.dependency 'FirebaseFirestore', '~> 12.11.0'
129129
ss.ios.deployment_target = '15.0'
130130
ss.osx.deployment_target = '10.15'
131131
ss.tvos.deployment_target = '15.0'
132132
end
133133

134134
s.subspec 'Functions' do |ss|
135135
ss.dependency 'Firebase/CoreOnly'
136-
ss.dependency 'FirebaseFunctions', '~> 12.10.0'
136+
ss.dependency 'FirebaseFunctions', '~> 12.11.0'
137137
# Standard platforms PLUS watchOS.
138138
ss.ios.deployment_target = '15.0'
139139
ss.osx.deployment_target = '10.15'
@@ -143,20 +143,20 @@ Simplify your app development, grow your user base, and monetize more effectivel
143143

144144
s.subspec 'InAppMessaging' do |ss|
145145
ss.dependency 'Firebase/CoreOnly'
146-
ss.ios.dependency 'FirebaseInAppMessaging', '~> 12.10.0-beta'
147-
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 12.10.0-beta'
146+
ss.ios.dependency 'FirebaseInAppMessaging', '~> 12.11.0-beta'
147+
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 12.11.0-beta'
148148
ss.ios.deployment_target = '15.0'
149149
ss.tvos.deployment_target = '15.0'
150150
end
151151

152152
s.subspec 'Installations' do |ss|
153153
ss.dependency 'Firebase/CoreOnly'
154-
ss.dependency 'FirebaseInstallations', '~> 12.10.0'
154+
ss.dependency 'FirebaseInstallations', '~> 12.11.0'
155155
end
156156

157157
s.subspec 'Messaging' do |ss|
158158
ss.dependency 'Firebase/CoreOnly'
159-
ss.dependency 'FirebaseMessaging', '~> 12.10.0'
159+
ss.dependency 'FirebaseMessaging', '~> 12.11.0'
160160
# Standard platforms PLUS watchOS.
161161
ss.ios.deployment_target = '15.0'
162162
ss.osx.deployment_target = '10.15'
@@ -166,7 +166,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
166166

167167
s.subspec 'MLModelDownloader' do |ss|
168168
ss.dependency 'Firebase/CoreOnly'
169-
ss.dependency 'FirebaseMLModelDownloader', '~> 12.10.0-beta'
169+
ss.dependency 'FirebaseMLModelDownloader', '~> 12.11.0-beta'
170170
# Standard platforms PLUS watchOS.
171171
ss.ios.deployment_target = '15.0'
172172
ss.osx.deployment_target = '10.15'
@@ -176,15 +176,15 @@ Simplify your app development, grow your user base, and monetize more effectivel
176176

177177
s.subspec 'Performance' do |ss|
178178
ss.dependency 'Firebase/CoreOnly'
179-
ss.ios.dependency 'FirebasePerformance', '~> 12.10.0'
180-
ss.tvos.dependency 'FirebasePerformance', '~> 12.10.0'
179+
ss.ios.dependency 'FirebasePerformance', '~> 12.11.0'
180+
ss.tvos.dependency 'FirebasePerformance', '~> 12.11.0'
181181
ss.ios.deployment_target = '15.0'
182182
ss.tvos.deployment_target = '15.0'
183183
end
184184

185185
s.subspec 'RemoteConfig' do |ss|
186186
ss.dependency 'Firebase/CoreOnly'
187-
ss.dependency 'FirebaseRemoteConfig', '~> 12.10.0'
187+
ss.dependency 'FirebaseRemoteConfig', '~> 12.11.0'
188188
# Standard platforms PLUS watchOS.
189189
ss.ios.deployment_target = '15.0'
190190
ss.osx.deployment_target = '10.15'
@@ -194,7 +194,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
194194

195195
s.subspec 'Storage' do |ss|
196196
ss.dependency 'Firebase/CoreOnly'
197-
ss.dependency 'FirebaseStorage', '~> 12.10.0'
197+
ss.dependency 'FirebaseStorage', '~> 12.11.0'
198198
# Standard platforms PLUS watchOS.
199199
ss.ios.deployment_target = '15.0'
200200
ss.osx.deployment_target = '10.15'

FirebaseABTesting.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseABTesting'
3-
s.version = '12.10.0'
3+
s.version = '12.11.0'
44
s.summary = 'Firebase ABTesting'
55

66
s.description = <<-DESC
@@ -51,7 +51,7 @@ Firebase Cloud Messaging and Firebase Remote Config in your app.
5151
s.pod_target_xcconfig = {
5252
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
5353
}
54-
s.dependency 'FirebaseCore', '~> 12.10.0'
54+
s.dependency 'FirebaseCore', '~> 12.11.0'
5555

5656
s.test_spec 'unit' do |unit_tests|
5757
unit_tests.scheme = { :code_coverage => true }

0 commit comments

Comments
 (0)