From cf48a03cbb915c272e560b579870f9a7f781850c Mon Sep 17 00:00:00 2001 From: MichaelVerdon Date: Fri, 14 Mar 2025 15:15:18 +0000 Subject: [PATCH 1/3] fix(firestore,ios): handle unhandled exception --- .../FLTFirebaseFirestorePlugin.m | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index cb2f5ee43ad1..2a2f334e8317 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -407,16 +407,21 @@ - (void)documentReferenceUpdateApp:(nonnull FirestorePigeonFirebaseApp *)app completion:(nonnull void (^)(FlutterError *_Nullable))completion { id data = request.data; FIRFirestore *firestore = [self getFIRFirestoreFromAppNameFromPigeon:app]; - FIRDocumentReference *document = [firestore documentWithPath:request.path]; - - [document updateData:data - completion:^(NSError *error) { - if (error != nil) { - completion([self convertToFlutterError:error]); - } else { - completion(nil); - } - }]; + @try { + FIRDocumentReference *document = [firestore documentWithPath:request.path]; + [document updateData:data + completion:^(NSError *error) { + if (error != nil) { + completion([self convertToFlutterError:error]); + } else { + completion(nil); + } + }]; + } @catch (NSException *exception) { + NSLog(@"🔥 Exception caught: %@ - %@", exception.name, exception.reason); + } @finally { + NSLog(@"?????????"); + } } - (void)enableNetworkApp:(nonnull FirestorePigeonFirebaseApp *)app From e8ad68f0faae251a106f49f37c6861f19748133a Mon Sep 17 00:00:00 2001 From: MichaelVerdon Date: Fri, 14 Mar 2025 15:32:02 +0000 Subject: [PATCH 2/3] fix(firestore,ios): handle unhandled exception cleanup --- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index 2a2f334e8317..501818ede920 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -418,9 +418,12 @@ - (void)documentReferenceUpdateApp:(nonnull FirestorePigeonFirebaseApp *)app } }]; } @catch (NSException *exception) { - NSLog(@"🔥 Exception caught: %@ - %@", exception.name, exception.reason); - } @finally { - NSLog(@"?????????"); + NSString *name = exception.name; + NSString *reason = exception.reason; + completion( + [FlutterError errorWithCode:name + message:reason + details:nil]); } } From 718daf0551d64fa303bb81e1690145668ee5c6cc Mon Sep 17 00:00:00 2001 From: MichaelVerdon Date: Fri, 14 Mar 2025 15:42:00 +0000 Subject: [PATCH 3/3] fix(firestore,ios): formatting cleanup --- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index 501818ede920..c3b920e7bf34 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -420,10 +420,7 @@ - (void)documentReferenceUpdateApp:(nonnull FirestorePigeonFirebaseApp *)app } @catch (NSException *exception) { NSString *name = exception.name; NSString *reason = exception.reason; - completion( - [FlutterError errorWithCode:name - message:reason - details:nil]); + completion([FlutterError errorWithCode:name message:reason details:nil]); } }