Upload dSYM files to allow BugSnag to show human-friendly function names, file paths, and line numbers in your iOS, macOS, and tvOS stacktraces.
For installation instructions for the BugSnag CLI, please see our Installation guide.
The dsym
command uploads dSYM files from an Xcode project – either by locating an Xcode archive (.xcarchive
) or from the project build – and uploads them to the dSYM upload API.
The command attempts to extract the your BugSnag API key, required for the upload, from your app’s Info.plist
file. Otherwise this can be supplied as a command line option.
This command is a convenience wrapper for the more specific xcode-archive
and xcode-build
commands for uploading from archives or from project builds, respectively.
The simplest way to run the command is from the root directory of your project:
$ bugsnag-cli upload dsym
Or by providing a specific project file
$ bugsnag-cli upload dsym path/to/my-project.xcodeproj
Or to the Xcode archive:
$ bugsnag-cli upload dsym path/to/my-project.xcarchive
Or to the dSYM itself:
$ bugsnag-cli upload dsym path/to/generated/project.dSYM
If your project contains multiple schemes or has a non-standard project layout, we recommend the more specific xcode-archive
and xcode-build
commands.
--api-key
)The BugSnag API key for the application.
You can find your API key in Project Settings from your BugSnag dashboard.
Default: the value of com.bugsnag.android.API_KEY
in your app’s manifest file, if found.
--configuration
)The configuration used to build the application.
--dry-run
)Performs a dry-run of the command without sending any information to BugSnag.
--fail-on-upload-error
)Stops the upload when a file fails to upload successfully.
--ignore-empty-dsym
)Throw warnings instead of errors when a dSYM file is found, rather than the expected dSYM directory.
--ignore-missing-dwarf
)Throw warnings instead of errors when a dSYM with missing DWARF data is found.
--log-level
)Sets the level of logging to debug, info, warn or fatal.
Default: info
.
--overwrite
)Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists.
--plist
)The path to a .plist file from which to obtain build information.
Default: path obtained from the build settings in your app’s workspace.
--port
)The port number for the BugSnag upload server.
Default: 443
.
--project-root
)The path to strip from the beginning of source file names referenced in stacktraces on the BugSnag dashboard.
Default: the root directory if the command has detected one, otherwise it’s empty.
--retries
)The number of retry attempts before failing an upload request.
Default: 0
.
--scheme
)The name of the Xcode options.Scheme used to build the application.
--timeout
)The number of seconds to wait before failing an upload request.
Default: 300
.
--upload-api-root-url
)The upload server hostname, optionally containing port number.
For use in BugSnag On-premise configurations. The command will append the appropriate path to access the correct upload endpoint.
Default: https://upload.bugsnag.com
.
--verbose
)Sets the level of the logging to its highest.
This is the equivalent of setting the log level to debug
.
--xcode-project
)The path to an Xcode project, workspace or containing directory from which to obtain build information.