---
title: Acquiring operating system symbol information
framework: Xcode Cloud
role: article
role_heading: Article
path: xcode/acquiring-operating-system-symbol-information
---

# Acquiring operating system symbol information

Download symbols for Apple system frameworks using Xcode or Terminal.

## Overview

Overview To make symbols from the operating system frameworks identifiable in a crash report, you need to collect them from a device using Xcode, or by using the command line in Terminal. These symbols are specific to the operating system release, and the model and the CPU architecture of the device. For example, the symbols for an iPhone running iOS 26 aren’t the same as the symbols for the same iPhone running iOS 26.2. After you collect the symbols, the system saves them in ~/Library/Developer/Xcode/<iOS|watchOS|tvOS|visionOS> DeviceSupport. Collect system framework symbols from a device For iOS, iPadOS, tvOS, visionOS, and watchOS apps, Xcode automatically copies operating system binaries that contain symbols from each device you connect to your Mac. note: For macOS and Mac Catalyst apps, symbolicate the crash log by using Xcode on a version of macOS that matches the macOS version in the crash report. Alternatively, you can acquire operating system symbols from an unlocked and attached device in Terminal with the xcodebuild -prepareDeviceSupport command. To fetch the system binaries that contain symbols from a device, add the -destination option to the command. The option takes the UDID, identifier, or name of the device as an argument. % xcodebuild -prepareDeviceSupport -destination "id=device-UDID" | "id=device-identifier" | "name=device-name"

For example, the following command collects the symbols using the UDID of the device. Enter devicectl list devices with the --columns option and the UDID in Terminal. % devicectl list devices --columns 'UDID' The command prints the default data columns and the specified UDID column, as in the following example: % devicectl list devices --columns 'UDID' Name          Hostname                      Identifier                  State                 UDID  ----   ---------------------   ------------------------------------   --------- ... ------------------------- Work   Work.coredevice.local   09C6E78B-1024-568C-869F-68A0B772907E   available     00008103-000D585C36D0801E

Next, run xcodebuild -prepareDeviceSupport with the -destination option set to the gathered UDID. If the system finds the device with the specified UDID, the command collects the symbols from the device and prints a message. % xcodebuild -prepareDeviceSupport -destination "id=00008103-000D585C36D0801E" Starting Device Support Preparation ----------------------------------- Searching for 60.0 seconds with ["id": "00008103-000D585C36D0801E"] Located Work 00008103-000D585C36D0801E [Work ] Copying ....30%..44%..47%..49%....100% [Work] Extracting ...20%..30%...40%..50%....90% [Work] Finished Download system framework symbols for watchOS in Terminal You can download operating system symbols specific to a watchOS release from the command line without pairing an Apple Watch to your Mac. Enter xcodebuild -prepareDeviceSupport with the -platform, -osVersion, and -buildVersion in Terminal. % xcodebuild -prepareDeviceSupport -platform watchOS -osVersion <version> -buildVersion <version> note: To find the watchOS version and build version, choose Settings > General > About on your Apple Watch, and look for the watchOS Version field. The field displays the OS version followed by the build version in parentheses, such as 26.3 (23S618). The following command downloads symbols for watchOS 26.3 (23S618): % xcodebuild -prepareDeviceSupport -platform watchOS -osVersion 26.3 -buildVersion 23S618 Starting Device Support Preparation ----------------------------------- Platform: watchos OSVersion: 26.3 BuildVersion: 23S618 ModelCode:  Arch: Downloading Symbols for watchOS 26.3 (23S618): Done. Created '/Users/ravipatel/Library/Developer/Xcode/watchOS DeviceSupport/26.3 (23S618) universal/Symbols' caching completed successfully

In watchOS 11 and later, the command downloads universal symbols you can use to symbolicate crash reports from all models of Apple Watch. If you require symbols for an earlier version of watchOS, like watchOS 10.6, specify the model of Apple Watch to download them using the -modelCode option. note: For information about finding the model code value, see Hardware Model in Examining the fields in a crash report. The following command downloads symbols for an Apple Watch Ultra 2 with watchOS 10.6 (21U577): % xcodebuild -prepareDeviceSupport -platform watchOS -osVersion 10.6 -buildVersion 21U577 -modelCode "Watch7,5" Starting Device Support Preparation ----------------------------------- Platform: watchos OSVersion: 10.6 BuildVersion: 21U577 ModelCode: Watch7,5 Arch: Downloading Symbols for watchOS 10.6 (21U577): Done. Created '/Users/ravipatel/Library/Developer/Xcode/watchOS DeviceSupport/10.6 (21U577) universal/Symbols' caching completed successfully

## See Also

### Debugging

- [Locating a missing debug symbol file](xcode/locating-a-missing-debug-symbol-file.md)
- [Resetting access to protected resources in macOS](xcode/resetting-access-to-protected-resources-in-macos.md)
