Когда ты разработчик, жить одновременно проще и сложнее. Проще, потому что если тебе нужно приложение для чего-нибудь, ты открываешь среду разработки и пишешь его. Сложнее, потому что новые идеи обычно приходят быстрее, чем ты успеваешь их адекватно реализовывать. В любом случае, я хотел бы представить вам три своих приложения, которые я сделал, потому что всё существующее было хуже. И поскольку я страстно ненавижу идеи авторского права и интеллектуальной собственности, все эти приложения абсолютно бесплатны, опенсорсны и лицензированы под “The Unlicense”. Итак, начинаем.
Виджет календаря для центра уведомлений
Я был очень нерешителен в плане обновления операционной системы до последней версии, потому что постоянно слышал жалобы на краши приложений, паники ядра и отваливающийся вайфай. Ещё мне не нравился плоский редизайн интерфейса. В итоге я сидел на 10.9 как минимум 2 года с того момента, как вышла более новая версия. Но в какой-то момент мне понадобилось собрать и отладить приложение для iOS, использующее последнюю SDK, которая существует только в комплекте с последним Xcode, который работает только на последней OS X, так что мне пришлось обновиться до 10.12. Она оказалась не настолько ужасной, как я думал, к тому же, в ней появились новые фичи, вроде виджетов в центре уведомлений. В 10.9 там были только уведомления, и он был как-то вообще бесполезен. Я пользовался Dashboard в качестве отдельного виртуального рабочего стола для виджетов. Но открывать панель сбоку экрана свайпом от края трекпада намного проще и удобнее, чем переключаться на другой рабочий стол. Одна проблема — там нет виджета с календарём, а те, что есть, либо платные, либо выглядят убого. В итоге пришлось сделать свой.
Проекция экрана с андроид-устройств
Мне нужно было показывать экран своего телефона с андроидом в видеозвонках. Поскольку это нельзя сделать прямо с телефона, да и вообще участвовать в видеозвонках с телефона — так себе идея, нужен был какой-нибудь способ транслировать экран телефона на компьютер, а потом показывать его в звонок с помощью соответствующей кнопки. Один из способов сделать что-то подобное — Vysor, но это веб-приложение и там дофига рекламы. А ещё оно использует достаточно низкий битрейт видео, из-за этого при переходе между экранами видны артефакты сжатия. Так что я сделал своё приложение. Оно дичайше простое и аппаратно-ускоренное по самые ушки. Оно использует adb для общения с андроид-устройствами. Если у вас стоит Android Studio, у вас уже есть adb.
Оно на самом деле состоит из двух приложений – apk сервера засунут внутрь приложения для OS X и устанавливается на устройство автоматически, когда вы первый раз используете с ним это приложение. У такого подхода есть преимущество в том, что нет необходимости использовать недокументированные API. Единственное недокументированное, что там используется —это команда для adb, чтобы дать приложению доступ к захвату экрана без необходимости действий со стороны пользователя. Но даже если это не сработает на каком-нибудь устройстве, ничего страшного не случится.
Плагин для QuickLook для APK-файлов
Если вы ещё не поняли, я очень часто работаю с различными вещами, связанными с андроидом, и это включает в себя apk-файлы. Каждый раз, когда мне надо было посмотреть какие-нибудь метаданные apk вроде версии, не устанавливая его, приходилось использовать всякие не самые удобные команды вроде aapt d badging file.apk
. Мне надоело. Этот плагин работает с “быстрым просмотром” в Finder – это та плашка, которая вылазит при нажатии пробела. А ещё он показывает иконки приложений в apk в качестве иконок файлов. Плагин также умеет проверять и показывать подписи apk, но, поскольку это занимает достаточно много времени, работа с подписями по умолчанию отключена. Чтобы включить эту возможность, выполните команду defaults write me.grishka.ApkQuickLook checkSignatures -bool yes
в терминале.
Если вам интересно, чем я сделал инсталлятор: Packages.
Надеюсь, эти приложения будут для вас полезны.