Source Context
Sentry can show you snippets of code around the crash, so you can quickly identify the problem.
Sentry can display snippets of your code next to the event stack traces. This feature is called source context.
There are three options for setting up source context:
If you add the --include-sources flag to the sentry-cli debug-files upload command, sentry-cli will scan your debug files to find references to the source code files, resolve them in the local file system, bundle them up, and upload them to Sentry.
sentry-cli debug-files upload --auth-token ___ORG_AUTH_TOKEN___ \
--include-sources \
--org ___ORG_SLUG___ \
--project ___PROJECT_SLUG___ \
PATH_TO_DSYMS
If you're already using Fastlane, you can use the Sentry Fastlane plugin to upload your source to Sentry by adding include_sources: true to the plugin call.
sentry_debug_files_upload(
auth_token: '___ORG_AUTH_TOKEN___',
org_slug: '___ORG_SLUG___',
project_slug: '___PROJECT_SLUG___',
include_sources: true, # Optional. For source context.
)
Breaking Changes in Version 2.0.0
The Sentry Fastlane plugin version 2.0.0 includes breaking changes due to the sentry-cli 3.0.0 upgrade. If you're upgrading from version 1.x, see the migration guide for details.
You can upload your sources to Sentry after every build through Xcode. To do this, add the --include-sources flag to the sentry-cli debug-files upload command in the Upload Debug Symbols Xcode build phase script.
if [[ "$(uname -m)" == arm64 ]]; then
export PATH="/opt/homebrew/bin:$PATH"
fi
if which sentry-cli >/dev/null; then
export SENTRY_ORG=___ORG_SLUG___
export SENTRY_PROJECT=___PROJECT_SLUG___
export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___
ERROR=$(sentry-cli debug-files upload --include-sources "$DWARF_DSYM_FOLDER_PATH" 2>&1 >/dev/null)
if [ ! $? -eq 0 ]; then
echo "warning: sentry-cli - $ERROR"
fi
else
echo "warning: sentry-cli not installed, download from https://github.com/getsentry/sentry-cli/releases"
fi
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").