Skip to content

docs(ios): add dSYM Input Files step and content_hash_mismatch troubleshooting#16165

Open
hpouillot wants to merge 2 commits intomasterfrom
docs/ios-dsym-input-files-and-hash-mismatch
Open

docs(ios): add dSYM Input Files step and content_hash_mismatch troubleshooting#16165
hpouillot wants to merge 2 commits intomasterfrom
docs/ios-dsym-input-files-and-hash-mismatch

Conversation

@hpouillot
Copy link
Copy Markdown
Contributor

What

Two small additions to the iOS dSYM upload guide:

  1. Step 6 — Input Files: adds an explicit instruction to add $(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME) to the Run Script build phase's Input Files section, so Xcode waits for dSYM generation before running the upload script.

  2. New troubleshooting entry — content_hash_mismatch: explains why the error occurs (upload script runs before dSYM generation finishes) and how to fix it (same Input Files tip).

Why

Users were hitting content_hash_mismatch errors on incremental builds because the upload script was running before the dSYM was fully written. The fix is documented in the CLI but wasn't covered in the iOS upload guide.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

Deploy preview

Status Details Updated (UTC)
🟢 Ready View preview Apr 03, 2026 11:13AM

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

Vale prose linter → found 1 errors, 17 warnings, 0 suggestions in your markdown

Full report → Copy the linter results into an LLM to batch-fix issues.

Linter being weird? Update the rules!

contents/docs/error-tracking/upload-source-maps/ios.mdx — 1 errors, 17 warnings, 0 suggestions
Line Severity Message Rule
2:15 warning 'dSYMs' is a possible misspelling. PostHogBase.Spelling
12:246 warning Capitalize 'Error Tracking' for PostHog's product. Use 'error tracking' for the general industry concept. PostHogBase.ProductNames
12:252 warning 'tracking's' is a possible misspelling. PostHogBase.Spelling
32:53 warning 'dSYMs' is a possible misspelling. PostHogBase.Spelling
49:30 warning 'Sandboxing' is a possible misspelling. PostHogBase.Spelling
51:48 warning 'Sandboxing' is a possible misspelling. PostHogBase.Spelling
56:18 warning 'Sandboxing' is a possible misspelling. PostHogBase.Spelling
66:4 warning 'symbolicate' is a possible misspelling. PostHogBase.Spelling
66:144 warning 'dSYMs' is a possible misspelling. PostHogBase.Spelling
118:112 warning Capitalize 'Error Tracking' for PostHog's product. Use 'error tracking' for the general industry concept. PostHogBase.ProductNames
160:14 warning 'uncheck' is a possible misspelling. PostHogBase.Spelling
168:15 warning Capitalize 'Error Tracking' for PostHog's product. Use 'error tracking' for the general industry concept. PostHogBase.ProductNames
184:5 warning 'Script fails with "error: posthog-cli not found"' heading should be in sentence case, and product names should be capitalized. PostHogBase.SentenceCase
184:31 warning Use 'PostHog' instead of 'posthog'. Vale.Terms
184:39 warning Use 'CLI' instead of 'cli'. Vale.Terms
201:5 warning 'dSYMs' is a possible misspelling. PostHogBase.Spelling
201:5 warning 'dSYMs not being generated' heading should be in sentence case, and product names should be capitalized. PostHogBase.SentenceCase
207:200 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash

6. In the **Input Files** section of the Run Script phase, add:

```
$(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${EXECUTABLE_NAME}

When I tested, this worked as well. Why not look at executable's dsym alone?


### Script fails with "content_hash_mismatch"

This happens when the upload script runs before Xcode finishes generating the dSYM files. Add `$(DWARF_DSYM_FOLDER_PATH)/$(DWARF_DSYM_FILE_NAME)` to the **Input Files** of the Run Script build phase — this tells Xcode to complete dSYM generation before running the upload script. No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that Input files just prevent the script from running until this file has changed. So not sure how correct this explanation here is?

If that's the case, then we should probably also mention checking "Based on dependency analysis" as well (which is the default when adding a new Run Script phase)

Image

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