iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
976 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🎯 Отслеживание горизонта на изображении с помощью Vision framework

Vision framework существует уже достаточно давно, но так как это чисто iOS фишка, мало кто его активно использует. Несмотря на появление в iOS 11, обрел практический смысл он после релиза гарнитуры. Vision Pro. Статья рассматривает интересный кейс использования фреймворка вне VR/AR приложений:
🟢Vision Framework позволяет определять угол наклона горизонта на изображении.
🟢Функция DetectHorizonRequest() принимает изображение и возвращает HorizonObservation.

Пример максимально простой и показывает возможность использования Vision для небольших приятных фич в ваших приложениях. Можно по аналогии адаптировать другие API:
🟢Классификация содержимого на фото
🟢Выделение людей на последовательности фото
🟢Выделение наиболее "эстетичных" фото
🟢Выделение наиболее значимых элементов на фото (тепловая карта, которая определяет части изображения, наиболее привлекающие внимание)
🟢Определение положения тела и рук
🟢Обнаружение текста или штрих-кода
🟢Обнаружение животных с распознаванием

#Vision
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
🎵 Идентификация отдельных звуков в аудиофайле
Продолжаем разбираться в возможностях актуальных Apple фреймворков. На этот раз Sound Analysis framework. Идентификация звуков в аудиофайле важна для различных приложений, таких как распознавание речи и анализ звука. Apple Sound Analysis Framework позволяет идентифицировать различные классы звуков с помощью встроенной модели машинного обучения или пользовательских моделей. Фреймворк может использоваться для обработки аудиопотоков в реальном времени и проверки предварительно записанных аудиофайлов.
В статье рассматривается создание приложения для классификации звуков с использованием SwiftUI и Apple Sound Analysis Framework:
🟢Приложение анализирует аудиофайл, классифицирует звуки и отображает их в виде списка.
🟢Руководство состоит из трех шагов: определение класса ObserverResults, настройка функции классификации звуков с помощью Sound Analysis фреймворка и вывода результата с использованием SwiftUI.
🟢Apple Sound Analysis Framework предоставляет широкие возможности для решения задач анализа звука, включая пакетную обработку, манипулирование высококачественными записями и автономный анализ.
Полезные ссылки:
➡️Sound Analysis документация
➡️WWDC сессия про Sourd Analysis
➡️Create ML - документация по обучению ML моделей для приложения

#SoundAnalysis
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
📱 Рендеринг пиксельной графики с помощью SwiftUI
Люблю интересные задачки. Недавно только думал как реализуют алгоритмы для рисования картин по-номерам из любой фотографии. Суть задачи простая, разбиваем изображение на полигоны, находим средний цвет в каждом полигоне и выбираем наиболее близкий из доступной палитры. Звучит просто? Но каждый из этапов со звездочкой: полигон какой формы, как выделить контуры? Какой размер полигона? Нужно ли мержить полигоны? Какое минимальное число цветов нужно для generic решения? Можно посмотреть решение на TypeScript но статья не про это.
Статья про решение похожей задачи: перевод в PixelArt. Основная проблема рендеринга пиксельной графики — сохранение четких границ пикселей при масштабировании. Можно использовать .interpolation(.none) модификатор, чтобы избежать размытия. Холст позволяет рисовать дополнительные элементы, такие как разделители. Так же используются модификаторы aspectRatio, antialiased для корректного рендеринга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔨 Соединение двух точек
Простая статья с примерами использования UIBezierPath и trimmedPath для создания закругленных углов.
🟢 Закругление нижнего левого угла
🟢Прямая с нулевым началом
🟢Применение scaleEffect после кадра для точного позиционирования
🟢Учет различных направлений входа и выхода из точек
🟢Определение относительной позиции между начальной и конечной точками
🟢Создание подпутей для различных направлений входа и выхода
Много примеров кода и разных подходов к реализации внутри статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
💤 Zed - твой редактор завтрашнего дня
Рубрика рассуждения. Мы с вами переживаем не только LLM революцию но и ренессанс редакторов кода.
Открытие месяца - Zed, он заменил мне все кейсы использования Sublime Text и Merge.
🟢🐥 Поддержка Swift
🟢Молниеносно быстрая работа, мгновенный холодный старт и не требовательность к ресурсам
🟢Если сравнивать с Xcode, что угодно лучше Xcode, но без него все равно не обойтись
🟢Удобная работа с Git из коробки
🟢Уникальная интеграция с AI-ассистентами, даже с Claude
🟢Сниппеты кода
🟢Режим совместного редактирования, очень круто для парного программирования
🟢Полный рендеринг Markdown из коробки
🟢Обширная библиотека расширений - 513 на сегодня
🟢Недавно влили дебаггер (да, он с открытыми исходниками на Rust, должны же быть минусы)

AI ассистенты меняют подход к работе с исходниками, привычные принципы, на которых строились современные IDE на рассвете высокоуровневых языков программирования, постепенно уступают место вайб-кодингу. Разработчики все больше полагаются на искусственный интеллект для выполнения повседневных задач и IDE в современном их виде не достаточно гибкие чтобы успевать адаптироваться. Очень интересно как будет выглядеть setup разработчика через 3-5 лет. Как думаете, останутся ли редакторы и IDE в современном представлении или мы перейдем к чему-то совсем другому? Я уже стал чаще использовать для автоматизаций не привычный Swift а Python, т.к. с ним лучше справляется AI, а значит и мы с AI можем сделать задачу быстрее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5
📁 Использование Proxyman для перехвата сетевых запросов приложений
Проксирование трафика это обязательная часть разработки мобильного приложения. У каждого есть свой любимый мультитул для проксирования, сам я использовал Charles, а последнее время полностью перешел на Proxyman. В статье как раз на примерах показывается как его настроить и использовать.Proxyman — инструмент для перехвата и имитации сетевых запросов. Его можно использовать для мокирования различных сценариев, тестирования API, подмены ответов и многого другого. В статье рассматривается как раз настройка и использование этого инструмента:
🔵Установка и настройка Proxyman
🔵Захват сетевых запросов
🔵Proxyman не классифицирует запросы по приложениям, а по доменам.
🔵Моделирование данных (Имитационные данные)
🔵Поддержка отображения протокольных буферов и двоичных данных.
🔵Возможность моделирования различных сетевых условий и конфигураций сервера.
🔵Функции отладки сетевых точек останова, пользовательские сценарии, автоматическая генерация кода и механизм редактирования и повтора.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9