Skip to main content

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.

KindContentNeeds a booted simulator
crashThe crash reports (.ips files) of the processes of the simulator. The reports of your app are among themNo
systemThe log directory of the simulator: system.log, the install logs and the asset logsNo
unifiedThe most recent part of the unified log of the simulator, as textYes

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.MyApp from 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 system directory 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-remote does not remove the temporary directory. Delete it when you finish.

The CLI reference lists every option and describes the manifest of the bundle.