iOS Dev
7.69K subscribers
995 photos
82 videos
1 file
1.15K links
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
Download Telegram
Обновили WatchOS

Многие фичи из новой iOS уже внедрили и сюда.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый macOS - Tahoe

Новый Control Center, можно менять цвета папок (и закидывать им эмодзи), и добавлять тинт (прямо как в iOS).

А ещё - теперь доступны Live Activities (можно отслеживать свой заказ, не отвлекаясь во время программирования на смартфон).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Большое обновление для Spotlight - хм, очень похоже на Raycast, не находите?

Можно задавать сложные фичи, кастомизировать действия и многое другое.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Xcode 26 - встроен ChatGPT, шутка про вайб-кодинг больше не шутка

В Xcode 26 встроена поддержка ChatGPT, и разработчики могут использовать API-ключи других провайдеров или запускать локальные модели.

Разработчикам доступен ChatGPT в Xcode без необходимости создания учётки, а подписчики могут подключить свои учетные записи, чтобы получить доступ к большему количеству запросов.

😎 Наконец-то настоящий amazing!

В пресс-релизе написали, что фичи будут доступны из любой точки в коде.

Новые инструменты позволят запилить Preview, настроить Playground и исправить баги из предлагаемых действий (а ещё смогут обрабатывать и другие промпты).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый инструмент - Icon Composer для создания иконок в стиле Liquid Glass

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Презентация закончилась прекрасной песней о хороших отзывах

❤️ Так мало доброты в современном мире, но есть и те, для кого можно делать хорошее.

Спасибо вам, что читали трансляцию здесь - очень скоро разберём все новинки в коде, анимациях и их комбинации.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Все новые фреймворки iOS 26

Собрал все анонсированные фреймворки и их краткие фичи в одном посте.

🛠 AlarmKit — для создания кастомных будильников и таймеров в приложении.

🛠 AVRouting — для добавления устройств и протоколов сторонних производителей в AVRoutePickerView.

🛠 DeclaredAgeRange — для запроса возраста в приложении.

🛠 EnergyKit — для помощи использования электроэнергии (пока доступно для USA).

🛠 FinanceKitUI — стандартизированный интерфейс для взаимодействия с FinanceKit и FinanceStore.

🛠 FoundationModels — предоставляет доступ к большой языковой модели Apple на устройстве (которая в основе Apple Intelligence).

🛠 GameSave — хранение и синхронизация в iCloud.

🛠 GeoToolbox — для создания PlaceDescriptor и использование технологий Maps и картографических системах сторонних разработчиков.

🛠 IdentityDocumentServices — обмен мобильными документами с помощью API Digital Credentials.

🛠 IdentityDocumentServicesUI — содержит объекты интерфейса, которые поддерживают функции IdentityDocumentServices.

🛠 ImmersiveMediaSupport — позволяет создавать кастомные процессы для обработки Apple Immersive Video (AIV).

🛠 PermissionKit — для настройки правил учёток в iCloud.

🛠 RelevanceKit — интеллектуальное управление на устройстве с помощью контекстных подсказок (повышают видимость и на Apple Watch).

🛠 TelephonyMessagingKit — для отправки и получения сообщений через сотовые сети.

🛠 TouchControls — для интеграции сенсорного управления на экране в игры на основе Metal.

🛠 VisualIntelligence — для включения релевантного контента приложения в результаты поиска.

🛠 WiFiAware — позволяет устройствам безопасно обнаруживать и взаимодействовать с близлежащими устройствами без подключения к Интернету или точки доступа.

🛠 WirelessInsights — уведомляет ваше приложение о состоянии сети, которое может повлиять на его способность использовать данные.

📖 Для фильтрации и поиска всех фреймворков и их доступности рекомендую этот ресурс.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что под капотом в новом дизайне для UITabBar?

🤩 Seb Vidal уже покопался внутри, и выяснил, что для реализации Apple используют приватное вью _UILiquidLensView.

Он состоит из большого количества subviews, в которых много знакомых вещей: _UIPortalView, CABackdropLayer, CAFilter.

А ещё очень похоже, что используется несколько CAFilter специально для эффекта стекла, opacityPair и displacementMap.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Apple планирует добавить Обсуждения - новый способ общения с разработчиками в реальном времени

Пол Хадсон поделился скриншотом с закрытого показа фичи, на основании которого уже сейчас можно сделать вывод, что это будет огромный шаг вперёд к открытости.

Учитывая то, что появляются дополнительные группы и обновляются команды для экосистемы в целом, можно только порадоваться (особенно вместе с новостями про опенсорс).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Теперь при загрузке билда в стор можно будет использовать тот же номер при ошибке!

🚀 И это здорово, наверняка многие ловили ситуацию (а скорее всего, вообще все), когда вы заливали билд и по какой-то причине он фэйлился. Кроме этого, теперь можно будет на сайте посмотреть и детальное сообщение о полученной ошибке.

📺 А ещё в этой сессии:

➡️ Можно использовать apple-hosted background assets (до 200 гб).

➡️ Обратная связь с уведомлениями от юзеров в тестфлайте (доступно в приложении AppStore Connect для iOS).

➡️ Теги в AppStore (генерируются автоматически, но также будет дополнительная проверка ревью-командой, а разработчики смогут включать/выключать необходимые).

➡️ Теперь offer codes можно делать для всех типов встроенных покупок (до 10 активных офферов на каждую, максимум 1 000 000 на приложение).

➡️ Summary по отзывам (генерируются автоматически), будет доступно на странице приложения в сторе. Обновляются регулярно. Разработчики смогут оспорить в консоли, если будут не согласны с этим текстом.

➡️ В аналитике более 100 новых метрик. Редизайн, новое отображение для анализа подписок и монетизации.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автогенерация Playground в Xcode 26

🤩 Тестовые наборы данных также создаются автоматически.

Для того, чтобы запустить и проверить самим, обязательно нужна бетка macOS Tahoe.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Пара слов про новый фреймворк Containerization

Во-первых, эта история не для iOS-разработчиков.

Новая тулза «container» предназначена для создания и запуска Linux-контейнеров (вкратце, это легковесная виртуалка).

А анонсированный Containerization и позволит использовать эти Linux-контейнеры (в этом процессе каждый контейнер выполняется внутри собственной виртуальной машины, если вы использовали когда-нибудь докер, то поймёте, о чем речь).

Ещё раз, если вы вдруг раньше использовали Linux-виртуалку для таких процессов (раньше альтернативы не было), это вам пригодится. В ином случае смело можно пропустить эту сессию.

P.S. Надеюсь, фанаты нашего канала смогут позволить себе купить более дорогую подписку на AI-помощников, чтобы разобраться, о чём пишут. Или удалят пост как обычно.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование памяти в Swift 6.2 и возможности для повышения производительности

📺 Одна из самых полезных сессий WWDC25, в которой есть несколько важных моментов.

➡️ Cпецификация и пример парсера для QOI (относительного нового формата, придуманного Dominic Szablewski несколько лет назад).

➡️ Примеры работы с инструментами (Allocations и Time Profiler).

➡️ Stack vs Heap (и новый InlineArray).

➡️ Что таят в себе unsafe pointers.

➡️ Новая группа типов Span (в Swift 6.2) и как они помогут писать более безопасный код, чем позволяют указатели.

И, как говорится, one more thing!

🥳 Выкатили в открытый доступ Swift Binary Parsing — либу для создания безопасных и эффективных бинарных парсеров на Swift.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый инструмент для оптимизации SwiftUI-приложений на WWDC25

Джед из команды Instruments и Стивен из команды Apple Music рассказали про обновлённые Instruments, а также про полезный способ для профилирования SwiftUI-проектов.

С его помощью можно упростить поиск узких мест в приложении, среди которых долгие (и лишние) обновления view, которые могут вызывать краши, зависания, лаги анимации и переходов, а также задержку при скролле.

📺 В этой сессии можно посмотреть, как на примере реального приложения можно устранить эти проблемы с помощью нового инструмента SwiftUI, Time Profiler (а также Hangs и Hitches).

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

Что ещё может быть полезно?

🛠 Analyze hangs with Instruments (c WWDC23).
🛠 Optimize CPU performance with Instruments (новое видео на WWDC25).
🛠 Исследование причин зависаний приложений — серия уроков от Apple

А большой разбор возможных кейсов при проблемах с производительностью (и способов предотвращения такого поведения есть 💰тут и ⭐️ прямо здесь).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Hidden gem для скруглений элементов в новом API — containerConcentric

Бывает множество ситуаций, в которых хочется реализовать cornerRadius в зависимости от формы девайса - начиная от модальных вьюх и заканчивая обычными кнопками, чаще снизу (уверен, что на многих проектах дизайнеры и вас просили придумать способ для таких скруглений).

Так вот - в этой сессии рассказали, что такой способ появится!

🤩 Если использовать containerConcentric, то скругление будет автоматически соответствовать контейнеру на разных дисплеях и в разных формах окон.

Получается, от приватного апи и лишнего кода для девайсов наконец можно будет избавиться.

Лучший способ применения нового API — тулбары, панель поиска и другие контролы.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Алгоритмы обработки видео в iOS 26

Одна из задач на моей работе — это интеграция и поддержка аудио и видеозвонков (p2p и конференций в том числе). Вообще, в этом моя команда прошла довольно большой путь, в том числе пробуя и PJSIP, и решения вроде LiveKit. А про CallKit, например, делился и реальными кейсами. К слову, в рамках теста и поддержки разных алгоритмов, я даже как-то влетел в призы в одном из конкурсов.

Было интересно последить за теми шагами, которые Apple предпринимает в улучшении работы с передачей видео (и добавлении эффектов).

Например, VTFrameProcessor, изначально доступный только в macOS 15.4, теперь появится и в iOS 26.

Но самое интересное для меня в новой сессии - улучшение поддержки передачи видео с низкой скоростью соединения. Появился способ, в котором можно повышать качество видоса в таких условиях с помощью VTLowLatencySuperResolutionScalerConfiguration (не мог не вспомнить мем из CSI).

📺 Рекомендую посмотреть эту сессию всем командам, которые реализуют видеозвонки (и в целом работают с видеоэффектами).

И сразу целых три (!) тестовых проекта (нужна бета оси и Xcode):

➡️ Работа с видео для low-latency конференций
➡️ Лайстрим видео и настройка сессии
➡️ Настройте процесса сжатия

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
От массивных SwiftUI-view к переиспользуемым компонентам: рут-подход к MVVM для модульных интерфейсов

📖 В этой статье Маттео Манфердини делится своим взглядом на массивные вью (и почему они являются проблемой).

1️⃣ Почему это причина многих архитектурных проблем.

2️⃣ Создание модульных (и переиспользуемых) вью.

3️⃣ Почему content-вьюхи должны быть связаны только с пользовательским интерфейсом приложения.

Здесь, кстати, автор рассматривает популярное заблуждение с его стороны:

Многие разработчики ошибочно полагают, что MVVM добавляет слишком много бойлерплейт-кода, так как считают что абсолютно для каждой вью должна быть своя viewmodel. Маттео добавляет, что viewmodel должна быть только у корневой вью.

4️⃣ Рут-вью как мост между контент-вьюхами и нижними слоями архитектуры приложения.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM