Skip to content

fix(ios): Add input/output paths to dSYM upload build phase#76

Closed
swey wants to merge 1 commit intoDataDog:mainfrom
swey:fix/ios-dsym-build-phase-order
Closed

fix(ios): Add input/output paths to dSYM upload build phase#76
swey wants to merge 1 commit intoDataDog:mainfrom
swey:fix/ios-dsym-build-phase-order

Conversation

@swey
Copy link

@swey swey commented Jan 19, 2026

Summary

Adds inputPaths and outputPaths to the "Upload dSYMs to Datadog" build phase to ensure correct execution order during Xcode builds.

Problem

Without input/output file dependencies, Xcode cannot determine when to run the build phase. This causes:

  1. Upload script runs before dSYM files are generated - The build phase executes before dSYM generation completes
  2. dSYMs are not uploaded to Datadog - Crash reports remain unsymbolicated
  3. Xcode warning - "Script has ambiguous dependencies causing it to run on every build"

Evidence from EAS build logs:

› Executing XXApp » Upload dSYMs to Datadog    ← Upload runs FIRST
› Generating debug XXApp » XXApp.app.dSYM  ← dSYM generated AFTER

Solution

Specify the dSYM files as inputPaths so Xcode waits for their generation before executing the upload script. An outputPaths marker file is also added to satisfy Xcode's dependency analysis.

Testing

  • Tested with Expo SDK 53 and expo-datadog 53.0.0
  • After applying this fix, the build phase runs after dSYM generation
  • dSYM files are successfully uploaded to Datadog
  • Crash reports are properly symbolicated

Without input/output file dependencies, Xcode cannot determine the
correct execution order for the "Upload dSYMs to Datadog" build phase.
This causes:

- Upload script runs before dSYM files are generated
- dSYMs are not uploaded to Datadog
- Xcode warning: "Script has ambiguous dependencies causing it to run
  on every build"

This commit adds inputPaths and outputPaths to ensure Xcode waits for
dSYM generation before executing the upload script.
@marco-saia-datadog
Copy link
Member

Hello @swey, thanks for your contribution 🙌

I have cloned this PR here: #85.

It will be merged and released soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants