it-swarm.com.ru

Xcode - бесплатно очистить папку устройств?

Я удаляю некоторые папки и файлы, чтобы освободить место на моем диске. Я знаю что в пути:

~/Library/Developer/CoreSimulator/Devices/

Есть папки для каждого симулятора и каждой версии. Эта папка имеет размер около 11 ГБ для меня. Я знаю, что могу удалить симуляторы со старыми версиями, которые я больше не использую. Но из этого уникального идентификатора я не могу знать, какой из них правильный, а какой нет. Итак, мой вопрос: могу ли я удалить все это? Ничего страшного, если в следующий раз у меня не будет приложения в симуляторе, но могу ли я потерять что-то еще? Старые версии симулятора? Или что-нибудь еще? Спасибо

42
Libor Zapletal

Путь ~/Library/Developer/CoreSimulator/Devices/ - это место, где Xcode хранит большую часть данных, необходимых для ваших отдельных симуляторов.

Предложение Бо Нувеля об удалении загруженных версий симулятора не изменит размер этих папок, так как среда выполнения хранится в другом месте.

Если вы идете в терминал, вы можете использовать инструмент simctl (поставляется с Xcode 6+), чтобы перечислить все имеющиеся у вас устройства-симуляторы, а также идентификаторы, чтобы вы могли выяснить, какие папки следует удалить.

Обратите внимание, вы увидите, что я постоянно использую xcrun simctl в этом ответе. Это добавляет немного абстракции к вещам, заставляя xcrun искать подходящую версию simctl для выбранного в настоящее время Xcode. Если ваша система не так сложна, как моя, вы, вероятно, можете обойтись без удаления части "xcrun", и командная строка все равно найдет инструмент simctl.

xcrun simctl list devices

Вот некоторые отобранные фрагменты вывода, который я получил:

== Устройства ==

- iOS 8.2 -

- iOS 8.4 -

iPhone 6 Plus (23E36868-715A-48C8-ACC3-A735C1C83383) (завершение работы)

iPad Air (2928379B-70E3-4C59-B5BA-66187DDD3516) (завершение работы)

- iOS 9.1 -

Мой пользовательский iPhone 4s (4F27F577-FFD0-42C1-8680-86BBA7394271) (Неисправность)

iPad Retina (85717B35-313A-4161-850E-D99D5C8194A6) (завершение работы)

- Недоступно: com.Apple.CoreSimulator.SimRuntime.iOS-9-0 -

iPhone 4s (D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3) (завершение работы) (недоступно, профиль выполнения не найден)

Из этого видно, что у меня нет симуляторов iOS 8.2. У меня есть некоторые симуляторы 9.1 и 8.4. У меня действительно есть симулятор 9.0 (остаток моей работы над Xcode 7.0), но у меня нет самой среды выполнения симулятора 9.0. Так что это хороший кандидат на удаление или напоминание о том, что мне следует скачать симулятор 9.0 в Xcode.

Если вы хотите, вы можете использовать эти идентификаторы, чтобы определить папку для рассматриваемого устройства и удалить ее вручную (в этом случае я бы удалил папку "D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3"), но вы также можете использовать инструмент simctl, чтобы сделать это.

Использование в соответствии с версией 7.1.1 simctl:

xcrun simctl help delete
Usage: simctl delete <device> [... <device n>] | unavailable

Так что я могу удалить отдельные устройства:

xcrun simctl delete D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3

или я могу массово удалить все недоступные с помощью:

xcrun simctl delete unavailable

Также нет необходимости ограничивать себя только недоступными симуляторами.

Если вам нужна дополнительная помощь с инструментом, он поставляется с довольно простой командой help:

xcrun simctl help

137
Aaron

Иногда Xcode любит удваивать свои симуляторы.

Обычно исправление для меня всегда заключалось в том, чтобы просто удалить их все ..... Удаление их безвредно, так как вы всегда можете загрузить их позже.

Xcode> Настройки> Загрузки

Просто помните, что если у вас есть какие-либо старые симуляторы (iOS 8.0-), вы не сможете загрузить их снова через XCode.

1
Beau Nouvelle

в Xcode 8:

1) Запустите $ Sudo du -khd 1 в терминале, чтобы увидеть размер каждой папки;

2) Запустите $ cd library/developer/coresimulator/devices, чтобы увидеть ГБ, сохраненный для всех ваших симуляторов Xcode;

3) Вы начнете видеть, где скрывается тонна хранилища! Теперь просто перейдите в это место на вашем Macintosh HD и просмотрите devices.plist в каждой папке устройства;

4) Решите, какие папки удалять и сохранять, удаляя любые версии симуляторов/iOS, которые вы запускали в прошлом, но больше не нуждаетесь в тестировании. В этих папках существуют старые версии sqlite, которые могут действовать как старые резервные копии, или другое содержимое, поэтому подумайте об этом, прежде чем удалять все в этой папке.

Я сэкономил более 50 ГБ в первый раз, когда я сделал это.

0
whyoz

Некоторое время назад у меня была похожая проблема, xcode занимал 47G на моем диске. Я попытался удалить некоторые симуляторы, которые не давали моему xcode работать (безумно). Поэтому я удалил все, что связано с xcode и установил заново. Это просто мой опыт.

0
Karthik