Вопрос по xcode, ios – Xcode Simulator: как удалить старые ненужные устройства?

174

Я использую iOS-симулятор Xcode 4.3.1, который изначально поддерживает только iOS 5.1.

Мне нужно протестировать мой код на iOS 4.3, поэтому я использовал Xcode & Install & quot; Install & quot; возможность установить его, как описано в& quot; Установка Xcode с имитатором устройства iOS 4.3? & quot;

Теперь я закончил тестирование, но не могу найти способ удалить части 4.3 («iPhone 4.3 Simulator» и «iPad 4.3 Simulator»). Я хочу уменьшить беспорядок в меню Схемы.

Никто из списков рассылки Apple Xcode не знал ответа!

РЕДАКТИРОВАТЬ: обратите внимание, что многое изменилось с Xcode 4.3, поэтому рекомендуем всем, кто читает этот взгляд на все ответы. Новейшие из них, такие как Стив Мозер, могут быть вам более полезны!

РЕДАКТИРОВАТЬ 10/2017: Опубликовано в Твиттере Хулио Карреттони & # x200F;

If you are an iOS developer, execute this:
$ xcrun simctl delete unavailable
It removes old simulators Xcode no longer use. For me it was 6Gb Did not try it myself...

[Кроме того, я только что видел, как Расс Бишоп упомянул об этом в комментарии ниже ...]

Ваш Ответ

14   ответов
186

«Окно»> «Устройства»> «Симуляторы» и удалить ненужный имитатор.

Вопрос был актуален в версии 4 и, вероятно, 5. Как видите, это было довольно сложно. С тех пор я избегал использования более старых симуляторов. David H
Это правильно. Если вы хотите, чтобы симуляторы действительно исчезли, или переустановите их в Xcode -> Preferences -> Downloads, вы должны удалить время выполнения симулятора, как указано ниже Stackoverflow.com / а / 30206853/1344293 mathz
Спасибо, это самый простой способ управлять симуляторами. вместо удаления симуляторов из папок xcode. Это работает для меня Chirag
Как удалить устройство с более старой версией iOS? В окне устройств отображаются только симуляторы с iOS 9.1 (на Xcode 7.1). Я хотел бы избежать редактирования device_set.plist и удаления папок в Finder. bio
Вы также можете использовать этот скрипт для воссоздания симуляторов: Gist.github.com / Cabeça / 3ff77007204e5479f7af tomi44g
133

/Library/Developer/CoreSimulator/Profiles/Runtimes. Перезапустите Xcode для вступления в силу (может не понадобиться).

Как и в Xcode 6.4, вам не нужно делать перезагрузку. orta
6.4 здесь. Нужно перезагрузить мою машину, чтобы она вступила в силу. aasatt
7.2 - перезапуск не требуется TheEye
@ thiagoveloso потому что вы установили не любую другую версию симуляторов, кроме iOS 10.0+. У меня там было только 9,3, 8,4 и 8,.simruntime файлы Aleksey Potapov
Я тоже могу быть в~/Library/Developer/... Roberto
63

чтобы удалить симуляторы, к которым нельзя получить доступ из текущей версии Xcode (8+?), Используемой на вашем компьютере.

xcrun simctl delete unavailable

Также, если вы хотите вернуть пространство, связанное с симулятором Майкл Цай обнаружил, что удаление журналов сима сэкономило ему 30 ГБ.

~/Library/Logs/CoreSimulator
Благодарность! Очевидно, что оригинальный вопрос был для Xcode 4, так что с тех пор многое изменилось! David H
Это почти 20 ГБ для меня. Благодарност Libor Zapletal
154

/ Применения / Xcode.app / Содержание / Разработчик / Платформы / iPhoneSimulator.platform / Developer / SDKs

Пожалуйста, также удалите соответствующий файл .dmg в

~ / Library / кэши / com.apple.dt.Xcode / Загрузки

to предотвратить Xcode от переустановки снова тот же пакет.

for XCode> = 6 см.@ Правин-Матанам ответ

Это не будет работать в xcode 4.5.2. Как только вы снова запустите компилятор, он попросит вас установить старые устаревшие устройства снова. Отмена закроет xcode, поэтому вы вынуждены установить снова. Alejandro Luengo
Это верно, Алехандро, Apple, похоже, изменила «лицензию», так что вам всегда нужна действительная учетная запись разработчика, и вы должны устанавливать все расширения снова и снова при каждом значительном обновлении в приложении. Устаревшие системы также в основном не поддерживаются; childno͡.de
См. Ответ Дэна Риза ниже о том, что работает на Xcode 4.6. BJ Homer
Ты гений! Спасибо! Не могу поверить, что нет на Xcode listserv знал об этом. Я смотрю в нескольких местах, но не там, где вы предложили. David H
Работал для Xcode 6.3.1 вместе с этим ответом Stackoverflow.com / а / 30206853/286618. Очистил старую документацию и сохранил 9ГБ !!! RoLYroLLs
59
Октябрь 2018 обновление

xcrun сделать несколько вещей:

xcrun simctl list devices илиxcrun simctl list --json перечислить все симуляторыxcrun simctl delete <device udid> чтобы удалить конкретное устройствоxcrun simctl delete unavailable чтобы удалить старые устройства для сред выполнения, которые больше не поддерживаются

Больше всего можно сделать сxcrun (см. фрагмент кода)

- `xcrun simctl boot <device udid>` to launch (multiple) simulators
- `xcrun simctl io booted recordVideo — type=mp4 ./test.mp4` to record simulator video
- `xcrun simctl io booted screenshot ./screen.png` to make screenshot of simulator
- `xcrun simctl openurl booted https://google.com` to open URL in simulator
- `xcrun simctl addmedia booted ./test.mp4` to upload photo or video file (for photos app)
- `xcrun simctl get_app_container booted <your apps bundle identifier>` to find the app container (where identifier is like *com.bundle.identifier*)
- `xcrun simctl help` to explore **more** commands

Оригинальный ответ

Сентябрь 2017,Xcode 9

Runtimes

Вы найдете их здесь:

/Library/Developer/CoreSimulator/Profiles/Runtimes

Устройства

Чтобы удалить устройства, перейдите сюда:

~/Library/Developer/CoreSimulator/Devices

Намного проще удалить их, используя Xcode: Xcode-> Window-> Devices and Simulators

Помогите Xcode «забыть» о средах выполнения и помешать их переустановке - удалите файлы .dmg здесь:

~/Library/Caches/com.apple.dt.Xcode/Downloads

Надеюсь, это поможет кому-то

Пожалуйста, не удаляйте устройства из файловой системы; использоватьxcrun simctl delete <device udid>. Вы также можете запуститьxcrun simctl delete unavailable чтобы удалить старые устройства для сред выполнения, которые больше не поддерживаются. russbishop
У меня нет ~ / Library / Caches / com.apple.dt.Xcode / Downloads (нет папки «Загрузки» в ~ / Library / Caches / com.apple.dt.Xcode /). Интересно, почему auspicious99
указанный вами путь к папке не существует, Xcode 9.4 Peter Cullen
Работал отлично для меня, спасибо Jared
24

S, если вы просто удалите SDK. Чтобы избежать этого, вы также должны удалить кэш Xcode. Тогда вам не придется переустанавливать старый SDK при запуске.

Чтобы удалить симулятор iOS 5.0, удалите их, а затем перезапустите Xcode:

/ Применения / Xcode.app / Содержание / Разработчик / Платформы / iPhoneSimulator.platform / Разработчик / SDKs / PhoneSimulator5.0.sdk ~ / Library / кэша / com.apple.dt.Xcode

Например, после чистой установки Xcode я установил симулятор iOS 5.0 из настроек Xcode. Позже я решил, что 5.1 достаточно, но не смог удалить версию 5.0. Xcode заставлял меня переустанавливать его при запуске. После удаления файла кеша и SDK он больше не спрашивается.

Confirmed; это работает на Xcode 4.6. Благодарность BJ Homer
Чуть более точный ответВо, хотя я сам еще не проверял. Dan Reese
это не работает в xCode 9.4 Peter Cullen
11

торов устройств НЕ помогло.

Основной причиной было то, что xCode сохранил все версии iOS, так как я установил xCode.

Удалите ненужную версию iOS и освободите место на диске. Я сэкономил 50 ГБ + места.

Если у вас есть несколько пользователей macOS на одном компьютере, обязательно найдите этот каталог с учетной записью пользователя, которая изначально установила xCode.

Я считаю 9G выше - как ты восстановил 75G? David H
hi @DavidH - 75 ГБ было до моей уборки. Поскольку я работал с xCode в течение многих лет, xCode установил на свой компьютер все варианты iOS 7, 8, 9 и 10 без вывода сообщений. В действительности мне, вероятно, нужны только iOS10 и iOS11, чтобы идти вперед. rustyMagnet
Я удалил 20 ГБ! (большое спасибо) Made in Moon
Это здорово - я никогда не знал об этом месте. У меня здесь были десятки ГБ, когда я устанавливал каждую версию Xcode. Echelon
эта папка не существует в Xcode 9.4 Peter Cullen
5

/private/var/db/receipts/

может содержать устаревший iPhoneSimulatorSDK.bom а также.plist файлы вроде этого:

/private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.bom /private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.plist

Это может привести к тому, что на вкладке «Загрузки» в настройках XCode появится галочка ) для этой устаревшей версии симулятора.

Чтобы удалить ненужные симуляторы, вы можете выполнить поиск с помощью этой команды bash с вашего терминала Mac:

sudo find / -name "*PhoneSimulator*"

Затем перейдите в соответствующие каталоги, чтобы вручную удалить ненужные SimulatorSDKs

3

затем выберите и удалите устаревшие симуляторы.

2

которую вы можете сделать, это изменить цель развертывания на максимальное значение. Это предотвратит отображение в меню схемы старых версий.

Для этого перейдите по адресу: Цель-> Сводка, а затем измените цель развертывания.

Возможно, все изменилось с тех пор, как я опубликовал вопрос, но когда я это сделал, вы увидели разные симуляторы в меню «Схема», и это просто затруднило выбор правильного. David H
2

Что сработало для меня на Sierra + Xcode 8.2 собирался:

/Library/Developer/CoreSimulator/Devices и удаление всех устройств.

(Может быть, это не сработает для вас, может быть, этоявляетс решение в качестве отдельного решения, или, может быть, вы должны сделать это в дополнение к другим ответам, но я сделал все решения здесь и поэтому не уверен, что сделал). Просто имейте в виду, что некоторые ответы здесь старые и местоположение симулятора изменилось. Ответ Снежинки, кажется, самый последний.

Могу я предположить, что ты сначала выключил Xcode, сделал это, а затем перезапустил Xcode? David H
@ DavidH извини, я не помню, что я сделал. У меня была проблема в течение 3-4 недель. Каждый раз, когда это происходило, когда я переключался между проектами / сим-устройствами ... Я просто пробовал все, и это, казалось, делало это для меня ... опять же, это могло что-то еще для тебя Honey
@ DavidH ты тоже пробовал этот ответ Honey
Для Xcode 10 и новее папка:~/Library/Developer/CoreSimulator/Devices. blackjacx
2

удалив некоторые симуляторы из моего меню xcode> Окно> Устройства> Симуляторы, ничего не помогло моему умирающему дисковому пространству:

как бы то ни было, зайдя в/Users/abdullah/Library/Developer/Xcode/iOS DeviceSupport и работаетdu -sh * У меня есть все эти парни:

2.9G    10.0.1 (14A403)
1.3G    10.1.1 (14B100)
2.9G    10.3.2 (14F89)
1.3G    10.3.3 (14G60)
1.9G    11.0.1 (15A402)
1.9G    11.0.3 (15A432)
2.0G    11.1.2 (15B202)
2.0G    11.2 (15C114)
2.0G    11.2.1 (15C153)
2.0G    11.2.2 (15C202)
2.0G    11.2.6 (15D100)
2.0G    11.4 (15F79)
2.0G    11.4.1 (15G77)
2.3G    12.0 (16A366)
2.3G    12.0.1 (16A404)
2.3G    12.1 (16B92)

Все вместе, это 33 ГБ!

Последовала кровавая баня

подробностиВо

1

что с каждым обновлением XCode меню и местоположения будут меняться.

Просто зайди в/Applications/Xcode.app/Contents/Developer/Platforms и удалите то, что вам не нужно. Xcode начнет нормально. Если вас это беспокоит, вы можете просто восстановить данные из корзины.

Я серьезно сомневаюсь, что Xcode скачивает симуляторы, вы запрашиваете его в комплекте. Конечно, они идут в библиотеку пользователей, нет? Тем не менее, я никогда не загружал более старый, так как у меня была проблема с Xcode 4. David H
Для каждой платформы (iOS, watchOS, AppleTVOS, MacOS) у меня есть 2 папки: у меня есть «iPhoneOS.platform» и «iPhoneSimulator.platform» Какую из них я предполагаю удалить? Я проверил с коллегой, у него были точно оба из них, но никаких проблем. Причина, по которой я на самом деле здесь, из-заЭта проблем и кто-то сказал мне, что это потому, что у меня есть 2 симулятора / X-кода, но если я не смог исправить это, я удалил свою другую версию X-кода, а также удалил среду выполнения 9.3 ... Honey
Пожалуйста, пожалуйста, не делай этого. Никто не должен возиться с контентом внутри пакета XCode. russbishop
-1

Тип "симулятор"

откройте старый бета-симулятор, который вам больше не нужен.

щелкните правой кнопкой мыши в доке, затем выберите «Параметры»> «Показать в Finder»

Закройте приложение, затем удалите его из папки.

:)

Похожие вопросы