xcrun — это утилита командной строки в macOS и Xcode, предназначенная для поиска и запуска инструментов разработчика в Xcode. Она используется в основном для запуска инструментов, управляемых Xcode, из командной строки. В этом руководстве мы рассмотрим основные команды xcrun и приведем множество примеров их использования для работы с iOS Simulator.
Основные команды xcrun для работы с iOS Simulator
Ниже приведен список наиболее часто используемых параметров команды xcrun и их описание:
1. Открытие iOS Simulator
open -a Simulator
// Открыть Xcode Simulator.
Примеры:
open -a Simulator
// Запускает приложение Simulator.
open -a Simulator --args -CurrentDeviceUDID
// Открывает конкретный симулятор по его UDID.
2. Список всех доступных симуляторов
xcrun simctl list devices
// Показывает список всех симуляторов.
xcrun simctl list devices available
// Показывает список всех доступных симуляторов.
Примеры:
xcrun simctl list devices
// Выводит полный список всех симуляторов, включая недоступные.
xcrun simctl list devices | grep Booted
// Показывает только запущенные симуляторы.
3. Удаление симулятора
xcrun simctl delete
// Удаляет указанный симулятор по его ID.
Примеры:
xcrun simctl delete E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1
// Удаляет симулятор с указанным ID.
xcrun simctl delete all
// Удаляет все симуляторы.
4. Запуск конкретного симулятора
xcrun simctl boot
// Запускает указанный симулятор по его ID.
Примеры:
xcrun simctl boot E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1
// Запускает симулятор с указанным ID.
xcrun simctl boot "iPhone 11"
// Запускает симулятор iPhone 11 по его имени.
5. Установка приложения на симулятор
xcrun simctl install
// Устанавливает приложение на указанный симулятор.
Примеры:
xcrun simctl install E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1 /path/to/MyApp.app
// Устанавливает приложение MyApp на симулятор с указанным ID.
xcrun simctl install booted /path/to/MyApp.app
// Устанавливает приложение на запущенный симулятор.
6. Запуск приложения на симуляторе
xcrun simctl launch
// Запускает приложение на указанном симуляторе.
Примеры:
xcrun simctl launch E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1 com.example.MyApp
// Запускает приложение MyApp на симуляторе с указанным ID.
xcrun simctl launch booted com.example.MyApp
// Запускает приложение на запущенном симуляторе.
7. Скриншот симулятора
xcrun simctl io screenshot
// Делает скриншот указанного симулятора.
Примеры:
xcrun simctl io E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1 screenshot ~/Desktop/screenshot.png
// Делает скриншот и сохраняет его на рабочий стол.
xcrun simctl io booted screenshot ~/Desktop/screenshot.png
// Делает скриншот запущенного симулятора и сохраняет его на рабочий стол.
8. Сброс симулятора
xcrun simctl erase
// Сбрасывает указанный симулятор.
Примеры:
xcrun simctl erase E30D6E8F-4E1B-4E1D-A8E0-874C755C3EE1
// Сбрасывает симулятор с указанным ID.
xcrun simctl erase all
// Сбрасывает все симуляторы.
9. Создание нового симулятора
xcrun simctl create
// Создает новый симулятор с указанным именем, типом устройства и средой выполнения.
Примеры:
xcrun simctl create "My iPhone" "iPhone 11" "com.apple.CoreSimulator.SimRuntime.iOS-14-4"
// Создает новый симулятор iPhone 11 с iOS 14.4.
xcrun simctl create "Test iPad" "iPad Pro (9.7-inch)" "com.apple.CoreSimulator.SimRuntime.iOS-13-3"
// Создает новый симулятор iPad Pro (9.7-inch) с iOS 13.3.
10. Показать SDK
xcrun --show-sdk-path -sdk
// Выводит путь к установленному SDK.
Примеры:
xcrun --show-sdk-path -sdk iphoneos
// Показывает путь к SDK для iOS.
xcrun --show-sdk-path -sdk macosx
// Показывает путь к SDK для macOS.
11. Показать версию SDK
xcrun --show-sdk-version -sdk
// Выводит версию выбранного SDK.
Примеры:
xcrun --show-sdk-version -sdk iphoneos
// Показывает версию SDK для iOS.
xcrun --show-sdk-version -sdk macosx
// Показывает версию SDK для macOS.
12. Показать номер сборки SDK
xcrun --show-sdk-build-version -sdk
// Выводит номер сборки для выбранного SDK.
Примеры:
xcrun --show-sdk-build-version -sdk iphoneos
// Показывает номер сборки SDK для iOS.
xcrun --show-sdk-build-version -sdk mac
osx
// Показывает номер сборки SDK для macOS.
13. Показать путь к платформе SDK
xcrun --show-sdk-platform-path -sdk
// Выводит путь к платформе для указанного SDK.
Примеры:
xcrun --show-sdk-platform-path -sdk iphoneos
// Показывает путь к платформе SDK для iOS.
xcrun --show-sdk-platform-path -sdk macosx
// Показывает путь к платформе SDK для macOS.
14. Показать версию платформы SDK
xcrun --show-sdk-platform-version -sdk
// Выводит версию платформы для указанного SDK.
Примеры:
xcrun --show-sdk-platform-version -sdk iphoneos
// Показывает версию платформы SDK для iOS.
xcrun --show-sdk-platform-version -sdk macosx
// Показывает версию платформы SDK для macOS.
15. Использование конкретной цепочки инструментов
xcrun -toolchain
// Указывает использование конкретной цепочки инструментов (toolchain).
Примеры:
xcrun -toolchain swift swiftc MySwiftFile.swift
// Использует цепочку инструментов Swift для компиляции Swift файла.
xcrun -toolchain com.apple.dt.toolchain.XcodeDefault swiftc MySwiftFile.swift
// Использует указанную цепочку инструментов для компиляции Swift файла.
16. Включение режим журналирования
xcrun -log
// Включает режим журналирования для диагностики.
Примеры:
xcrun -log simctl list devices
// Выполняет команду с включением журналирования.
xcrun -log --verbose simctl list devices
// Выполняет команду с включением журналирования и подробным выводом.
17. Вывод версии xcrun
xcrun --version
// Выводит версию xcrun.
Примеры:
xcrun --version
// Показывает текущую версию утилиты xcrun.
18. Справка по использованию xcrun
xcrun --help
// Выводит справку по использованию xcrun.
Примеры:
xcrun --help
// Показывает справочную информацию по всем доступным командам и параметрам xcrun.
19. Включение подробного вывода
xcrun --verbose
// Включает подробный вывод выполнения команд.
Примеры:
xcrun --verbose simctl list devices
// Выполняет команду с подробным выводом.
xcrun --verbose simctl create "My iPhone" "iPhone 11" "com.apple.CoreSimulator.SimRuntime.iOS-14-4"
// Создает новый симулятор с подробным выводом выполнения команды.
Заключение
Команда xcrun — это мощный инструмент для управления симуляторами и другими инструментами разработчика в Xcode. В этом руководстве мы рассмотрели основные команды и примеры их использования, что поможет вам эффективно работать с iOS Simulator и другими компонентами Xcode из командной строки.