es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

AppFiles - Mobile Development

AppFiles - Mobile Development

Ir al canal en Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

Mostrar más
2 178
Suscriptores
-124 horas
Sin datos7 días
+230 días
Atraer Suscriptores
oct '26
octubre '26
+21
en 1 canales
septiembre '26
+22
en 1 canales
Get PRO
agosto '26
+24
en 1 canales
Get PRO
julio '26
+39
en 1 canales
Get PRO
junio '26
+31
en 1 canales
Get PRO
mayo '26
+42
en 1 canales
Get PRO
abril '26
+26
en 1 canales
Get PRO
marzo '26
+35
en 1 canales
Get PRO
febrero '26
+23
en 1 canales
Get PRO
enero '26
+45
en 3 canales
Get PRO
diciembre '25
+43
en 3 canales
Get PRO
noviembre '25
+46
en 1 canales
Get PRO
octubre '25
+132
en 1 canales
Get PRO
septiembre '25
+38
en 1 canales
Get PRO
agosto '25
+40
en 1 canales
Get PRO
julio '25
+31
en 1 canales
Get PRO
junio '25
+33
en 1 canales
Get PRO
mayo '25
+41
en 1 canales
Get PRO
abril '25
+54
en 2 canales
Get PRO
marzo '25
+162
en 1 canales
Get PRO
febrero '25
+42
en 1 canales
Get PRO
enero '25
+40
en 1 canales
Get PRO
diciembre '24
+50
en 1 canales
Get PRO
noviembre '24
+65
en 1 canales
Get PRO
octubre '24
+52
en 1 canales
Get PRO
septiembre '24
+48
en 1 canales
Get PRO
agosto '24
+81
en 2 canales
Get PRO
julio '24
+48
en 1 canales
Get PRO
junio '24
+41
en 1 canales
Get PRO
mayo '24
+29
en 1 canales
Get PRO
abril '24
+18
en 1 canales
Get PRO
marzo '24
+26
en 2 canales
Get PRO
febrero '24
+25
en 1 canales
Get PRO
enero '24
+36
en 1 canales
Get PRO
diciembre '23
+49
en 2 canales
Get PRO
noviembre '23
+20
en 2 canales
Get PRO
octubre '23
+35
en 2 canales
Get PRO
septiembre '23
+25
en 0 canales
Get PRO
agosto '23
+16
en 0 canales
Get PRO
julio '23
+16
en 0 canales
Get PRO
junio '23
+27
en 0 canales
Get PRO
mayo '23
+99
en 0 canales
Get PRO
abril '23
+34
en 0 canales
Get PRO
marzo '23
+28
en 0 canales
Get PRO
febrero '23
+62
en 0 canales
Get PRO
enero '23
+31
en 0 canales
Get PRO
diciembre '22
+21
en 0 canales
Get PRO
noviembre '22
+13
en 0 canales
Get PRO
octubre '22
+25
en 0 canales
Get PRO
septiembre '22
+11
en 0 canales
Get PRO
agosto '22
+9
en 0 canales
Get PRO
julio '22
+16
en 0 canales
Get PRO
junio '22
+23
en 0 canales
Get PRO
mayo '22
+38
en 0 canales
Get PRO
abril '22
+65
en 0 canales
Get PRO
marzo '22
+29
en 0 canales
Get PRO
febrero '22
+48
en 0 canales
Get PRO
enero '22
+60
en 0 canales
Get PRO
diciembre '21
+26
en 0 canales
Get PRO
noviembre '21
+26
en 0 canales
Get PRO
octubre '21
+19
en 0 canales
Get PRO
septiembre '21
+27
en 0 canales
Get PRO
agosto '21
+35
en 0 canales
Get PRO
julio '21
+22
en 0 canales
Get PRO
junio '21
+20
en 0 canales
Get PRO
mayo '21
+11
en 0 canales
Get PRO
abril '21
+46
en 0 canales
Get PRO
marzo '21
+34
en 0 canales
Get PRO
febrero '21
+44
en 0 canales
Get PRO
enero '21
+32
en 0 canales
Get PRO
diciembre '20
+1 148
en 0 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
26 octubre+3
25 octubre0
24 octubre0
23 octubre+2
22 octubre0
21 octubre+1
20 octubre+1
19 octubre+1
18 octubre0
17 octubre+1
16 octubre0
15 octubre0
14 octubre0
13 octubre+1
12 octubre0
11 octubre+1
10 octubre0
09 octubre+2
08 octubre+1
07 octubre+2
06 octubre+2
05 octubre0
04 octubre+2
03 octubre0
02 octubre+1
01 octubre0
Publicaciones del Canal
Over The Air обновления Kotlin-кода для Android-приложений Как мы сделали настоящие OTA-обновления для Kotlin-приложений: не
Over The Air обновления Kotlin-кода для Android-приложений Как мы сделали настоящие OTA-обновления для Kotlin-приложений: не только UI, но и бизнес-логика, функции и состояние — при этом основную тяжёлую работу выполняет сам рантайм Android. Статья: https://apptractor.ru/info/articles/over-the-air-obnovleniya-kotlin-koda-dlya-android-prilozheniy.html Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

2
ChaosBank — 131 переключаемый баг для тренировки мобильного тестирования Оба проекта под MIT. По функциональности это небольш
ChaosBank — 131 переключаемый баг для тренировки мобильного тестирования Оба проекта под MIT. По функциональности это небольшой необанк с брокером акций и крипты, примерно в духе Revolut и Robinhood. Сейчас в нём 131 именованный дефект, и к каждому есть короткое письменное упражнение. Начинал я это как стенд для собственных экспериментов, но, возможно, он пригодится и как тренировочная площадка тем, кто только начинает в мобильной разработке или мобильном QA. Ниже — как всё устроено, как я бы стал этим пользоваться и пара вещей, в которых я пока не уверен. Статья: https://habr.com/ru/articles/1098668/ Платформа: тестирование 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
195
3
Прежде чем работать с AIDL: разбираемся, как устроен IDL Расскажу в двух статьях о языке определения интерфейсов (Interface D
Прежде чем работать с AIDL: разбираемся, как устроен IDL Расскажу в двух статьях о языке определения интерфейсов (Interface Definition Language, IDL) и платформенном механизме, который построен поверх этой идеи в Android — Android Interface Definition Language (AIDL). Начну рассказ с IDL — что это за язык и какую задачу он решает. Здесь будет только теоретическая информация. Примеры кода, внутренности Android и важные технические детали будут во второй статье. Статья: https://habr.com/ru/companies/vk/articles/1096294/ Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
180
4
Вылечил лагающий телевизор Xiaomi за 10 минут: реклама, слежка и YouTube — без root и с откатом На прошлой неделе на GitHub взлетел проект CleanYourTV: автор попросил ИИ-ассистента почистить телевизор родителей от рекламы и за четыре дня собрал 16 тысяч звёзд и статью в TechCrunch. Я открыл его списки — и не нашёл ни Яндекс ТВ, ни Салют ТВ, ни российских прошивок Xiaomi. Зато мой собственный Xiaomi на Android 9 лагал так, что меню открывалось через пару секунд после нажатия. Я сделал ЧистыйТВ — скрипт для Windows, который по Wi-Fi находит телевизор, отключает рекламу и телеметрию по проверенным спискам, ставит YouTube без рекламы и откатывает всё одной командой. Ниже — что на самом деле крутится внутри «умного» телевизора, какие пакеты отключать нельзя ни в коем случае (некоторые превращают ТВ в кирпич до сброса) и на какие грабли я наступил при первом запуске. Статья: https://habr.com/ru/articles/1097472/ Платформа: разработка 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
174
5
Tellyscope - очистка Android TV Tellyscope - приложение очищает Android TV от лишних приложений, позволяет устанавливать прог
Tellyscope - очистка Android TV Tellyscope - приложение очищает Android TV от лишних приложений, позволяет устанавливать программы, просматривать и передавать файлы. И всё это прямо со смартфона. Без root-прав и без компьютера. Для работы Tellyscope необходим смартфон на базе Android 8.0 или новее, подключенный к той же сети Wi-Fi, что и телевизор, а также телевизор с активированными параметрами разработчика. Tellyscope на GitHub: https://github.com/man15h/tellyscope Платформа: Android ⭐️: 126 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
182
6
Интеллектуальная собственность в мобильном приложении Многие предприниматели стремятся разработать мобильное приложение для у
Интеллектуальная собственность в мобильном приложении Многие предприниматели стремятся разработать мобильное приложение для удобства доступа потребителей к его продукту/услуге, узнаваемости и, как следствие, для роста продаж. Вместе с тем, не каждый предприниматель задумывается, что создаваемые результаты интеллектуальной деятельности (РИД): иконка, название приложения и/или его разделов, интерфейсы страниц (их композиционное, цветовое, шрифтовое решения), и конечно, функционал приложения — всё это потенциально можно превратить в интеллектуальную собственность. Как это сделать? Прежде всего, любой РИД создается человеком — автором. В процессе создания приложения многие РИДы являются объектами авторского права. Статья: https://habr.com/ru/articles/1097916/ Платформа: разработка 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
253
7
📺 Видео и подкасты за неделю • (iOS Ru) Metal без магии — когда GPU ускоряет, а не мешает • (iOS Ru) Как легально опубликова
📺 Видео и подкасты за неделю • (iOS Ru) Metal без магии — когда GPU ускоряет, а не мешает • (iOS Ru) Как легально опубликоваться вне App Store • (iOS Ru) Как и зачем писать игровой движок на Swift • (iOS En) Instagram's Swipeable Feed-to-Camera Interaction Using SwiftUI • (iOS En) Your iPhone App Needs This Before Supporting iPhone Duo • (And Ru) Явное лучше неявного, или Shift left в Android-сборке • (And Ru) Как читать метрику памяти и искать прожорливые экраны • (Dev Ru) Как подружить мобильное приложение с JS и прокачать свой SDUI • (Dev Ru) Разделяй и властвуй: распил мобильного приложения на микросервисы • (Dev Ru) Rust в мобильной разработке • (Dev Ru) Насколько опасен ИИ для кибербезопасности • (Dev En) How this skill helps me to understand AI code • (Dev En) The Tech Market Changed. Here's How to Survive It. • (Mrk Ru) Хэллоуин: ASO и монетизация мобильных игр Прошлогодние видео: • (And Ru) Как обеспечить стабильную работу SDK для миллионов устройств • (Crs Ru) Что ждёт Kotlin Multiplatform разработчика на собесе? (все собеседования) 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
1 837
8
HackiOS - запуск iOS на Linux HackiOS загружает открытое ядро Apple XNU (xnu-8796.121.2, ядро iOS 16.5) на аппаратном обеспеч
HackiOS - запуск iOS на Linux HackiOS загружает открытое ядро Apple XNU (xnu-8796.121.2, ядро iOS 16.5) на аппаратном обеспечении Android-смартфона и запускает поверх него неизменённое пользовательское пространство iOS 16.5: launchd → backboardd → SpringBoard → приложения. Это стало возможным благодаря собственному EFI-загрузчику, собственным заменам закрытых драйверов Apple, порту UEFI и Linux-драйверу Wi-Fi, работающему через слой совместимости. Система работает в двух вариантах: • POCO X5 Pro 5G (redwood, Snapdragon 778G) — ничего не прошивается: UEFI запускается через fastboot boot, вся система работает из оперативной памяти, а после перезагрузки телефон возвращается к Android; • QEMU (virt, aarch64) — то же самое можно запустить на любом Linux-компьютере, телефон для этого не нужен. Пока не работают сотовая связь, Bluetooth, зарядка под собственным ядром, запись видео и Live Photo, вход в Apple ID и содержимое App Store. Причина последних ограничений связана в том числе с отсутствием Secure Enclave и тем, что FairPlay daemon завершается. Главное техническое ограничение сейчас — Metal для приложений. Работа уже идёт: 293 из 456 системных шейдеров удалось запустить на Adreno. Поэтому HackiOS уже выглядит как достаточно функциональная iOS-среда на Android-железе, но до полноценной замены обычного iPhone ей пока далеко. HackiOS на GitHub: https://github.com/oosexgang/hackios-xnu-kernel Платформа: iOS/Android ⭐️: 654 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
243
9
Jetpack Compose 1.12: как я наконец отказался от «ненастоящих» градиентов Я не могу сосчитать, сколько раз дизайнер присылал
Jetpack Compose 1.12: как я наконец отказался от «ненастоящих» градиентов Я не могу сосчитать, сколько раз дизайнер присылал мне красивый мягкий градиент, а я отвечал тремя наложенными radialGradient, blur и молитвой. На эмуляторе всё выглядело отлично; на настоящем OLED-экране — блекло. Compose 1.12 решает обе проблемы. Статья: https://apptractor.ru/info/articles/jetpack-compose-1-12-kak-ya-nakonets-otkazalsya-ot-nenastoyaschih-gradientov.html Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
271
10
Прощай, project.pbxproj, здравствуй, JSON: крупнейшее изменение Xcode за 30 лет Apple наконец заменила самый пугающий файл в
Прощай, project.pbxproj, здравствуй, JSON: крупнейшее изменение Xcode за 30 лет Apple наконец заменила самый пугающий файл в каждом iOS-репозитории. Вот что изменилось, как перейти на новый формат и стоит ли это делать — с объяснениями для джунов, сеньоров и тимлидов. Статья: https://apptractor.ru/info/articles/proschay-project-pbxproj-zdravstvuy-json-krupneyshee-izmenenie-xcode-za-30-let.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
259
11
UIKit говорит, что интерфейс уже RTL. Почему тогда половина экрана осталась LTR? Представьте: пользователь переключает язык п
UIKit говорит, что интерфейс уже RTL. Почему тогда половина экрана осталась LTR? Представьте: пользователь переключает язык приложения с английского на арабский. Интерфейс перестраивается, кнопки меняются местами, навигация переезжает на другую сторону. Вроде всё работает. Но затем открываешь следующий экран и замечаешь, что стрелка Back смотрит не туда. Возвращаешься назад, открываешь форму, а текстовое поле ведёт себя странно при вводе латиницы. Ещё одно переключение языка, и часть интерфейса снова оказывается в LTR. Статья: https://habr.com/ru/articles/1097336/ Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
261
12
Sketchy - рисованные анимированные иллюстрации и empty states для Compose Multiplatform Sketchy — это библиотека Kotlin Multi
Sketchy - рисованные анимированные иллюстрации и empty states для Compose Multiplatform Sketchy — это библиотека Kotlin Multiplatform с иллюстрациями в стиле набросков и линейной графики — тёплыми, «человечными» изображениями, которые хорошо подходят для онбординга и пустых состояний. Все они полностью рисуются через Canvas, изначально поддерживают анимацию и полностью настраиваются под тему вашего приложения. Библиотека работает на Android, iOS, desktop и web из одного source set commonMain. Sketchy на GitHub: https://github.com/Ali0092/Sketchy Платформа: Android/кроссплатформа ⭐️: 39 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
283
13
Как Grab сократил ANR на 32% и улучшил время запуска на 35% благодаря R8 Grab — ведущий суперапп Юго-Восточной Азии, который
Как Grab сократил ANR на 32% и улучшил время запуска на 35% благодаря R8 Grab — ведущий суперапп Юго-Восточной Азии, который предлагает доставку, транспортные и финансовые услуги миллионам пользователей в восьми странах через одно приложение. За 10 лет кодовая база выросла до более чем 10 млн строк кода и сотен сторонних библиотек, а сборка использовала гибридную связку Bazel и Gradle. В итоге команда столкнулась с тремя растущими проблемами: высоким уровнем ошибок Application Not Responding (ANR), постоянно увеличивающимся размером приложения и постепенно ухудшающимся временем запуска. Включив оптимизацию R8, доработав keep rules и внедрив Baseline Profiles и Startup Profiles, Grab снизил воспринимаемый пользователями уровень ANR на 32%, уменьшил размер загрузки приложения примерно на 30% и ускорил запуск на 35%. Статья: https://apptractor.ru/info/articles/kak-grab-sokratil-anr-na-32-i-uluchshil-vremya-zapuska-na-35-blagodarya-r8.html Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
291
14
SimulatorCamera - камера для iOS-симулятора У iOS Simulator никогда не было настоящей камеры. AVCaptureDevice возвращает nil. Любое приложение, которое работает с камерой — сканеры QR-кодов, считыватели штрихкодов, захват документов, ML-конвейеры, AR-прототипы, видеозвонки, — либо подменяет работу камеры заглушкой, либо запускается только на физических устройствах, либо содержит ненадёжный запасной вариант вроде «использовать фото вместо камеры». SimulatorCamera регистрирует виртуальную камеру на системном уровне macOS с помощью API Apple CMIOExtension. iOS Simulator в Xcode 16+ видит эту виртуальную камеру через стандартный AVFoundation. Ваш существующий код с AVCaptureSessionпросто работает. Никакой интеграции SDK. Никаких изменений в Info.plist. Никаких веток #if targetEnvironment(simulator). Что вы получаете: • Веб-камера Mac → iOS Simulator — существующее приложение получает кадры с частотой 30 FPS и разрешением 1280×720 • Видео как источник — можно использовать любой MP4 / MOV / HEVC, воспроизведение зацикливается без разрывов • Статичное изображение как источник — выберите PNG / JPG, и оно станет видеопотоком камеры • Генератор QR-кодов — программная генерация QR для тестирования сканеров • Тестовый шаблон — встроенные цветные полосы / движущаяся полоса, всегда доступны • CLI simcamctl — например, simcamctl set-source --qr "TOKEN" для CI и ИИ-агентов • Никакого SDK — вашему iOS-приложению не нужно импортировать или линковать что-либо из этого проекта • Физическое устройство не требуется — всё работает целиком внутри iOS Simulator • Бесплатно, открытый исходный код, лицензия MIT — можно форкать, распространять, продавать, никаких отчислений SimulatorCamera на GitHub: https://github.com/dautovri/SimulatorCamera Платформа: iOS ⭐️: 59 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
284
15
Производительность SwiftUI: как находить перерисовки в Xcode Instruments Проблемы с производительностью SwiftUI часто сводятс
Производительность SwiftUI: как находить перерисовки в Xcode Instruments Проблемы с производительностью SwiftUI часто сводятся к двум вещам: представления либо перерисовываются слишком часто, либо их body выполняется слишком долго. Прежде чем что-то исправлять, нужно понять, какие именно представления виноваты и что вызывает их обновление. Xcode Instruments способен показать это довольно точно — если знать, где смотреть. В этой статье я покажу, как находить перерисовки SwiftUI и измерять их стоимость в Xcode Instruments. Мы запишем трассировку с шаблоном SwiftUI, изучим дорожку SwiftUI и представления View Body Updates, чтобы увидеть, какое представление сколько раз обновляется, сколько занимает каждое обновление и что именно его вызвало. Если вы раньше пользовались Self._printChanges(), то Instruments — следующий шаг, когда нужно понять, сколько эти перерисовки реально стоят. Статья: https://apptractor.ru/info/articles/proizvoditelnost-swiftui-kak-nahodit-pererisovki-v-xcode-instruments.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
278
16
Гравицапа для GPU: OpenGL ES на Kotlin DSL на примере 3D‑«Жизни» Конвея Наконец‑то я закончил работу над новым большим блоком
Гравицапа для GPU: OpenGL ES на Kotlin DSL на примере 3D‑«Жизни» Конвея Наконец‑то я закончил работу над новым большим блоком RedByteFX, тем самым, который в планах звучал скромно: «а ещё было бы неплохо OpenGL ES». «Неплохо» растянулось на много вечеров и вылилось в версию 1.2.0, которая уже лежит в Maven Central. Если коротко: теперь на Kotlin DSL можно писать не только эффекты для Compose, но и полноценную 3D‑графику и вычисления на GPU. Если подробно, то читайте дальше: я покажу всё на живом примере и сравню с тем, как пришлось бы писать без библиотеки. Статья: https://habr.com/ru/articles/1095948/ Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
271
17
Swift на Android: путь к сингулярности. От анонса SwiftJava до полноценного приложения Сегодня мы с вами обсудим наработки от
Swift на Android: путь к сингулярности. От анонса SwiftJava до полноценного приложения Сегодня мы с вами обсудим наработки от Apple. Какую технологию они представили еще в 2025 году, что изменилось со времени, как Apple выпустили официальный релиз Swift SDK для Android. А также мы посмотрим, как написать настоящее приложение, где вся бизнес-логика живёт на Swift, а UI на Compose. Статья в двух частях: первая и вторая Платформа: кроссплатформа 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
273
18
Mac.apk - запуск Android-приложений нативно на Apple Silicon Mac.apk запускает Android-приложения непосредственно на Apple Si
Mac.apk - запуск Android-приложений нативно на Apple Silicon Mac.apk запускает Android-приложения непосредственно на Apple Silicon. Приложения стартуют как обычные процессы macOS, отрисовывают графику через GPU Mac и выполняются на CPU с нативной скоростью. Они появляются в Dock, получают собственные окна с кнопкой «Назад» рядом со стандартными кнопками управления окном, могут менять размер и ориентацию как обычные окна macOS и автоматически переключаются между светлой и тёмной темой вместе с Mac. Android TV-приложениями можно управлять с клавиатуры, а игровые лаунчеры способны запускать другие установленные приложения. Здесь нет ни эмулятора, ни виртуальной машины. В фоне не загружается Android, под системой не работает ядро Linux, а инструкции не интерпретируются одна за другой. Mac.apk напрямую реализует среду выполнения Android-приложений поверх macOS. Mac.apk на GitHub: https://github.com/kksimp/Mac.apk Платформа: Android ⭐️: 901 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
290
19
Как я проектирую SwiftUI-приложения с Swift Concurrency, чтобы компилятор не выдавал предупреждений Структурирование SwiftUI-
Как я проектирую SwiftUI-приложения с Swift Concurrency, чтобы компилятор не выдавал предупреждений Структурирование SwiftUI-приложения для меня всегда сводилось к одним и тем же целям: хорошо организованный код, компоненты, каждый из которых выполняет одну задачу, и приложение, которое остаётся поддерживаемым по мере роста. Я хочу быстро находить нужные вещи, менять одну функцию, не ломая остальные, и использовать превью без зависимости от сервера. Swift concurrency добавила ко всему этому ещё одну проблему, и довольно болезненную. Как только появляются сеть, кэширование или аутентификация, компилятор начинает жаловаться. Ошибки Sendable, ошибки изоляции main actor, предупреждения о гонках данных. Добавляешь где-нибудь @MainActor, и новая ошибка появляется уже в другом месте. В какой-то момент начинаешь задаваться вопросом: Swift concurrency вообще нормально работает со SwiftUI? И если да, то как нужно структурировать приложение, чтобы они не конфликтовали друг с другом? Работает. В этой статье я покажу, как структурирую свои SwiftUI-приложения, чтобы они оставались организованными и удобными в поддержке, а SwiftUI и Swift concurrency работали вместе, а не друг против друга. Статья: https://apptractor.ru/info/articles/kak-ya-proektiruyu-swiftui-prilozheniya-s-swift-concurrency.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
319
20
Blueprint - генерация отладочных иконок Blueprint - небольшая CLI-утилита для iOS/macOS-разработки, которая автоматически пре
Blueprint - генерация отладочных иконок Blueprint - небольшая CLI-утилита для iOS/macOS-разработки, которая автоматически превращает обычную иконку приложения в blueprint-версию для Debug-сборок, примерно в стиле иконки Xcode. Главная идея: чтобы тестовую/отладочную сборку на устройстве было сразу видно и не перепутать с продакшеном. Она умеет работать как с новыми файлами Icon Composer .icon, так и с обычными AppIcon.appiconset. На выходе она создаёт отдельную иконку вроде AppIconDebug.icon или AppIconDebug.appiconset, после чего её можно назначить для Debug-конфигурации через ASSETCATALOG_COMPILER_APPICON_NAME. Исходную иконку библиотека не перезаписывает.  Blueprint на GitHub: https://github.com/MustafaNatur/blueprint Платформа: iOS ⭐️: 114 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
320