На 128Гб SSD не развернёшься, приходится выкручиваться и искать способы сохранить как можно больше свободных гигабайт. Значительную часть занимают приложения для iOS, которые хранятся в папке iTunes. Зачем я их храню на диске?
- Приложения имеют свойство пропадать из App Store, даже из
Purchases
. Из последних - плеер VLC, не первый раз пропадает из App Store. - Приложения обновляются и перестают поддерживать старые версии iOS. Например, минимальные требования для Find My Friends от Apple - iOS8, если до этого человек не скачал приложение, ему остаётся путь через обновление до iOS8.*
- Приложения меняют формат монетизации, переходят на
In-App Purchase
. - Любой другой сценарий.
Понятно, что эти сценарии редкие и могут никогда не произойти. Я предпочитаю снизить возможные риски и храню iOS приложения в iTunes. В этом сценарии есть недостаток - приложения обновляются. Да, некоторые из них найдутся в Time Machine, но для меня это не подходит, есть вероятность пропустить версию.
План
- файл загружается в Dropbox,
- из файла *.ipa удаляются все большие файлы,
- остаётся структура,которую iTunes сможет обновить (когда для приложения выйдет обновление).
Таким образом, я убиваю двух зайцев: храню все версии приложений в Dropbox, приложения занимают значительно меньше места на SSD. Приложения после “обрезания” успешно обновились и загрузились в Dropbox. Полный список приложений занимал 8.5Гб. После работы скрипта - не более 1Гб.
Под капотом
Расскажу как это работает. Установлен Hazel и Dropbox с подпиской на 1Тб. Есть скрипт на python с установленным модулем Dropbox, для закачивания файлов в облако. Пройдёмся по порядку.
Dropbox
Позаботимся, что на Dropbox есть свободное место. Из дополнительных вещей потребуется добавить приложение в разделе Developers, через App Console.
Hazel
Hazel выполняет всю чёрную работу. Настроен на папку
/Users/pavel/Music/iTunes/iTunes Media/Mobile Applications/
активировано 3 правила:
> загрузить \*.ipa в Dropbox,
> занести информацию из \*.ipa в plist файл,
> уменьшить размер \*.ipa.
Во всех случаях Hazel запускает python скрипт, просто с разными параметрами.
Python скрипт
Я не программист, скрипт писался для себя. Решает определённую задачу. Добавить различные исключения и возможные ошибки? этого нет. Для работы скрипта потребуется установить библиотеку Dropbox $ sudo pip install dropbox Так же прописать APIKEY & APISECRET из раздела for developers на сайте Dropbox. После всего этого остаётся разрешить доступ приложения к папке Dropbox. Если вы решитесь на подобный способ и возникнут вопросы по работе - пишите. По настройке скрипта доступна информация. Скрипт размещён на Github.