From 551c9a38f62d811bf38cf55e6b5fe24e6330a15f Mon Sep 17 00:00:00 2001 From: YuYu1015 Date: Thu, 22 Oct 2026 08:03:07 +0800 Subject: [PATCH] build(ios): find the Crashlytics script where Flutter puts packages --- 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 3e36a5cc3..9e68bd47d 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -792,7 +792,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\n"; + shellScript = "# Uploads this build's dSYM to Crashlytics. Only a Release build ships, so\n# Debug and Profile builds (flutter run, the RunnerTests suite) skip it: they\n# have nothing to symbolicate, and they must build offline.\nif [ \"${CONFIGURATION}\" != \"Release\" ]; then\n exit 0\nfi\n# Where Swift Package Manager cloned firebase-ios-sdk: DerivedData when\n# xcodebuild runs alone (the release workflow's archive), build/ios when Flutter\n# drives it, since Flutter passes -clonedSourcePackagesDirPath.\nfor packages in \"${BUILD_DIR%/Build/*}/SourcePackages\" \"${SRCROOT}/../build/ios/SourcePackages\"; do\n run=\"${packages}/checkouts/firebase-ios-sdk/Crashlytics/run\"\n if [ -x \"${run}\" ]; then\n exec \"${run}\"\n fi\ndone\necho \"error: Crashlytics upload script not found in DerivedData or build/ios/SourcePackages\" >&2\nexit 1\n"; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase;