From 86e57b5b1eb5c3295e9e0d6f684f09f566f3dfcf Mon Sep 17 00:00:00 2001 From: themisw Date: Tue, 30 Sep 2025 11:11:02 -0400 Subject: [PATCH] chain on init promise for flutter developement platform early set before context finish init --- Crashlytics/CHANGELOG.md | 3 ++ Crashlytics/Crashlytics/FIRCrashlytics.m | 45 ++++++++++++++----- .../UnitTests/FIRCLSContextManagerTests.m | 23 ++++++++++ 3 files changed, 59 insertions(+), 12 deletions(-) diff --git a/Crashlytics/CHANGELOG.md b/Crashlytics/CHANGELOG.md index d7fb8b796f2..64195694926 100644 --- a/Crashlytics/CHANGELOG.md +++ b/Crashlytics/CHANGELOG.md @@ -1,3 +1,6 @@ +# Unreleased +- [fixed] Make set development platform APIs to chain on Crashlytics context init promise. + # 12.3.0 - [fixed] Add missing nanopb dependency to fix SwiftPM builds when building dynamically linked libraries. (#15276) diff --git a/Crashlytics/Crashlytics/FIRCrashlytics.m b/Crashlytics/Crashlytics/FIRCrashlytics.m index 171999717ac..09e733996eb 100644 --- a/Crashlytics/Crashlytics/FIRCrashlytics.m +++ b/Crashlytics/Crashlytics/FIRCrashlytics.m @@ -111,6 +111,8 @@ @interface FIRCrashlytics () *result = @[].mutableCopy; + NSMutableArray *expectation = @[].mutableCopy; + + for (int j = 0; j < 100; j++) { + [expectation addObject:[NSString stringWithFormat:@"%d", j]]; + } + + FBLPromise *promise = [self.contextManager setupContextWithReport:self.report + settings:self.mockSettings + fileManager:self.fileManager]; + + for (int i = 0; i < 100; i++) { + [promise then:^id _Nullable(id _Nullable value) { + [result addObject:[NSString stringWithFormat:@"%d", i]]; + if (i == 99) { + XCTAssertTrue([result isEqualToArray:expectation]); + } + return nil; + }]; + } +} @end