Description
Hi,
we are seeing a reproducible Crashlytics build failure in CI when using the Firebase iOS SDK via Swift Package Manager and Xcode User Script Sandboxing enabled.
Environment
- Firebase iOS SDK: via SPM (
firebase-ios-sdk checkout in DerivedData/SourcePackages)
- Xcode: 26.5.0
- Build system:
xcodebuild / Fastlane archive
- CI: macOS GitHub Actions runner
ENABLE_USER_SCRIPT_SANDBOXING = YES
Error
The Crashlytics run script fails with sandbox denial:
error: Sandbox: bash(...) deny(1) file-read-data .../DerivedData/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
and then:
/bin/sh: .../Crashlytics/run: Operation not permitted
Current script phase
We call:
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
Problem
With script sandboxing enabled, declaring input files is required.
However, paths using shell parameter expansion (like ${BUILD_DIR%/Build/*}) are not interpreted in Input Files, so even when we add corresponding entries, sandbox still blocks Crashlytics/run.
Question
What is the officially supported and sandbox-safe way to reference Crashlytics run (and upload-symbols) for SPM-based integration on modern Xcode with User Script Sandboxing enabled?
A concrete recommended Input Files + script path example would help.
Thanks!
Reproducing the issue
No response
Firebase SDK Version
12.14
Xcode Version
26.5
Installation Method
Swift Package Manager
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
If using Swift Package Manager, the project's Package.resolved
Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.
If using CocoaPods, the project's Podfile.lock
Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!
Description
Hi,
we are seeing a reproducible Crashlytics build failure in CI when using the Firebase iOS SDK via Swift Package Manager and Xcode User Script Sandboxing enabled.
Environment
firebase-ios-sdkcheckout inDerivedData/SourcePackages)xcodebuild/ Fastlane archiveENABLE_USER_SCRIPT_SANDBOXING = YESError
The Crashlytics run script fails with sandbox denial:
error: Sandbox: bash(...) deny(1) file-read-data .../DerivedData/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/runand then:
/bin/sh: .../Crashlytics/run: Operation not permittedCurrent script phase
We call:
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"Problem
With script sandboxing enabled, declaring input files is required.
However, paths using shell parameter expansion (like ${BUILD_DIR%/Build/*}) are not interpreted in Input Files, so even when we add corresponding entries, sandbox still blocks Crashlytics/run.
Question
What is the officially supported and sandbox-safe way to reference Crashlytics run (and upload-symbols) for SPM-based integration on modern Xcode with User Script Sandboxing enabled?
A concrete recommended Input Files + script path example would help.
Thanks!
Reproducing the issue
No response
Firebase SDK Version
12.14
Xcode Version
26.5
Installation Method
Swift Package Manager
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
If using Swift Package Manager, the project's Package.resolved
Expand
Package.resolvedsnippetReplace this line with the contents of your Package.resolved.If using CocoaPods, the project's Podfile.lock
Expand
Podfile.locksnippetReplace this line with the contents of your Podfile.lock!