From 8883af90f05dbf4a284092594c08f0154a53e083 Mon Sep 17 00:00:00 2001 From: Tommy Chow Date: Mon, 8 Jun 2026 23:39:51 -0700 Subject: [PATCH] fix(ios): resolve Crashlytics upload-symbols for SPM builds The Crashlytics 'Upload Symbols' build phase was hardcoded to the CocoaPods path ($PODS_ROOT/FirebaseCrashlytics/upload-symbols), but Flutter 3.44 + firebase_crashlytics 5.x resolve Firebase via Swift Package Manager, so that path no longer exists and every release build (including fastlane build_app) failed with 'No such file or directory'. Fall back to the SPM checkout path when the pod isn't present so the upload works under either integration. Co-Authored-By: Claude Opus 4.8 (1M context) --- ios/Runner.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 3c0a4184..e82e9a80 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -246,7 +246,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PODS_ROOT/FirebaseCrashlytics/upload-symbols\" --flutter-project \"$PROJECT_DIR/firebase_app_id_file.json\" "; + shellScript = "# Locate upload-symbols whether Firebase is integrated via CocoaPods or Swift Package Manager.\nBIN=\"$PODS_ROOT/FirebaseCrashlytics/upload-symbols\"\n[ -f \"$BIN\" ] || BIN=\"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/upload-symbols\"\n\"$BIN\" --flutter-project \"$PROJECT_DIR/firebase_app_id_file.json\"\n"; }; 34CC65D58A1948B306772884 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase;