Get crash reports and logs
The logs of a hosted simulator are files on the hosted machine. You cannot open them from your computer. sim-remote logs collects them on the machine and downloads them in one bundle.
What the bundle contains
sim-remote logs collects three kinds of logs.
| Kind | Content | Needs a booted simulator |
|---|---|---|
crash | The crash reports (.ips files) of the processes of the simulator. The reports of your app are among them | No |
system | The log directory of the simulator: system.log, the install logs and the asset logs | No |
unified | The most recent part of the unified log of the simulator, as text | Yes |
The bundle contains only the logs of the simulator that you name. The logs of your other simulators are not in it.
Download the logs
Run the command with the UDID of the simulator. Without the --archive option, sim-remote unpacks the bundle into a new temporary directory on your computer.
sim-remote logs <UDID>
The first line of the output is the path of the directory. Each of the next lines is one file, or one kind of logs that sim-remote skipped. A crash report shows the name of its process.
/var/folders/.../sim-remote-logs-Ab12Cd
crash/MyApp-2026-09-30-141736.ips (MyApp)
system/system.log
system/MobileInstallation/mobile_installation.log.0
unified/log.txt
Get the logs of one app
The --process option keeps only the crash reports and the log records of one app. Give the bundle identifier or the name of the executable. Repeat the option for more apps.
sim-remote logs <UDID> --process com.example.MyApp
--process does not filter the system directory. The directory belongs to the simulator, not to one app.
Select the kinds and the time range
The --kind option selects the kinds of logs. Repeat the option for more kinds. The --last option sets how far back the unified log goes. The default is 10 minutes.
sim-remote logs <UDID> --kind crash
sim-remote logs <UDID> --kind unified --process com.example.MyApp --last 30m
The unified log of a simulator is large. Use --process or a short --last value to keep the download small.
Keep the bundle as an archive
The --archive option saves the bundle as a .tar.gz file and does not unpack it. Use the option in CI to store the logs of a failed job as an artifact.
sim-remote logs <UDID> --archive ./simulator-logs.tar.gz
When a kind has no logs
A kind without logs does not fail the command. sim-remote downloads the other kinds and prints one line for the kind that it skipped.
/var/folders/.../sim-remote-logs-Xy34Zw
crash/MyApp-2026-09-30-141736.ips (MyApp)
unified: skipped — could not read the unified log: ...
sim-remote skips the unified log when the simulator is not booted. Boot the simulator and run the command again.
Example instructions
- "Download the crash reports of
com.example.MyAppfrom the hosted simulator." - "The app crashed on the hosted simulator. Get its crash report and the last 5 minutes of its logs."
- "Save the logs of the hosted simulator as
simulator-logs.tar.gz."
Limits
- Download the logs before you release the machine. Argent Cloud erases the machine when the session ends. See Security and data.
- The unified log needs a booted simulator. The crash reports and the
systemdirectory do not. - The bundle does not contain the files that your app writes into its own container. Download those with
sim-remote simctl get_app_container <UDID> <BUNDLE_ID> data. See the simctl reference. sim-remotedoes not remove the temporary directory. Delete it when you finish.
The CLI reference lists every option and describes the manifest of the bundle.