Все фичи новой iOS 26
В конце рассказали про Visual Intelligence (под капотом вновь ChatGPT).
Более детально - в комментариях.
😃 iOS Dev
В конце рассказали про Visual Intelligence (под капотом вновь ChatGPT).
Более детально - в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый macOS - Tahoe
Новый Control Center, можно менять цвета папок (и закидывать им эмодзи), и добавлять тинт (прямо как в iOS).
А ещё - теперь доступны Live Activities (можно отслеживать свой заказ, не отвлекаясь во время программирования на смартфон).
😃 iOS Dev
Новый Control Center, можно менять цвета папок (и закидывать им эмодзи), и добавлять тинт (прямо как в iOS).
А ещё - теперь доступны Live Activities (можно отслеживать свой заказ, не отвлекаясь во время программирования на смартфон).
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
В Xcode 26 встроена поддержка ChatGPT, и разработчики могут использовать API-ключи других провайдеров или запускать локальные модели.
Разработчикам доступен ChatGPT в Xcode без необходимости создания учётки, а подписчики могут подключить свои учетные записи, чтобы получить доступ к большему количеству запросов.
В пресс-релизе написали, что фичи будут доступны из любой точки в коде.
Новые инструменты позволят запилить Preview, настроить Playground и исправить баги из предлагаемых действий (а ещё смогут обрабатывать и другие промпты).
Please open Telegram to view this post
VIEW IN TELEGRAM
106😁39🔥16 8💯3👍2 2☃1🎄1
Презентация закончилась прекрасной песней о хороших отзывах
❤️ Так мало доброты в современном мире, но есть и те, для кого можно делать хорошее.
Спасибо вам, что читали трансляцию здесь - очень скоро разберём все новинки в коде, анимациях и их комбинации.
😃 iOS Dev
❤️ Так мало доброты в современном мире, но есть и те, для кого можно делать хорошее.
Спасибо вам, что читали трансляцию здесь - очень скоро разберём все новинки в коде, анимациях и их комбинации.
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤🔥26🤩9👍6 5 3⚡1🔥1🏆1
Что вам понравилось больше всего на WWDC (можно выбрать несколько вариантов)
Anonymous Poll
23%
Федериги за рулём болида
33%
Liquid Glass (и в целом визуальный стиль)
53%
ChatGPT в Xcode
10%
Обновлённый CarPlay
15%
Live Translation
19%
Foundation Models Framework
18%
Новый Spotlight (дополненный фичами AI)
11%
Песня про отзывы
12%
Ничего не понравилось
🔥6 6🤯5✍2❤🔥2👍2
⚡️ Все новые фреймворки 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
Собрал все анонсированные фреймворки и их краткие фичи в одном посте.
🛠 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 — уведомляет ваше приложение о состоянии сети, которое может повлиять на его способность использовать данные.
📖 Для фильтрации и поиска всех фреймворков и их доступности рекомендую этот ресурс.
Please open Telegram to view this post
VIEW IN TELEGRAM
12 33🔥24⚡10👍8✍3🤩2❤🔥1☃1💯1 1
@Observable
в UIKit!В новой оси UIKit может автоматически трекать изменения в данных и обновлять вью c помощью макро
@Observable
. import Observation
@Observable
class Counter {
var count: Int = 0
}
А в самом
UIViewController
можно чекать значение внутри viewWillLayoutSubviews
.class TestViewController: UIViewController {
let counter = Counter()
private let label = UILabel()
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
label.text = "Read example for iOS Dev: \(counter.count)"
}
@objc private func incrementCounter() {
counter.count += 1
}
}
Так как мы читаем значение внутри
viewWillLayoutSubviews
, UIKit автоматически будет следить за ним (а вот тут есть ещё пример и для ячейки в коллекции).И хотя эта фича включена по умолчанию в iOS 26, её можно юзать и в iOS 18, добавив нужный ключ в info.plist:
UIObservationTrackingEnabled
(нужно установить в YES).А ещё добавили новый метод
updateProperties
(сработает и для UIView, и для UIViewController). Он запускается непосредственно перед layoutSubviews (но независим и позволяет заинвалидэйтить свойства без обновления лэйаута).Кроме этого, пошарили возможность добавлять badge для
UIBarButtonItem
(а не пилить собственный, что наверняка многие делали).Ещё из важного:
В релизе, следующем за iOS 26, любое приложение UIKit, созданное с помощью последней версии SDK, должно будет использовать жизненный цикл UIScene, иначе оно не запустится.
📺 Целиком сессию можно посмотреть здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 28🔥17✍9👍5🤯3🎉3👏1
Что под капотом в новом дизайне для UITabBar?
🤩 Seb Vidal уже покопался внутри, и выяснил, что для реализации Apple используют приватное вью
Он состоит из большого количества subviews, в которых много знакомых вещей:
А ещё очень похоже, что используется несколько
😃 iOS Dev
_UILiquidLensView
.Он состоит из большого количества subviews, в которых много знакомых вещей:
_UIPortalView
, CABackdropLayer
, CAFilter
.А ещё очень похоже, что используется несколько
CAFilter
специально для эффекта стекла, opacityPair
и displacementMap
.Please open Telegram to view this post
VIEW IN TELEGRAM
7 28🔥13👍9💯2🍓2⚡1✍1
⭐️ Apple планирует добавить Обсуждения - новый способ общения с разработчиками в реальном времени
Пол Хадсон поделился скриншотом с закрытого показа фичи, на основании которого уже сейчас можно сделать вывод, что это будет огромный шаг вперёд к открытости.
Учитывая то, что появляются дополнительные группы и обновляются команды для экосистемы в целом, можно только порадоваться (особенно вместе с новостями про опенсорс).
😃 iOS Dev
Пол Хадсон поделился скриншотом с закрытого показа фичи, на основании которого уже сейчас можно сделать вывод, что это будет огромный шаг вперёд к открытости.
Учитывая то, что появляются дополнительные группы и обновляются команды для экосистемы в целом, можно только порадоваться (особенно вместе с новостями про опенсорс).
Please open Telegram to view this post
VIEW IN TELEGRAM
7 24🔥9✍6👍2🤩2👏1💯1🏆1
Теперь при загрузке билда в стор можно будет использовать тот же номер при ошибке!
🚀 И это здорово, наверняка многие ловили ситуацию (а скорее всего, вообще все), когда вы заливали билд и по какой-то причине он фэйлился. Кроме этого, теперь можно будет на сайте посмотреть и детальное сообщение о полученной ошибке.
📺 А ещё в этой сессии:
➡️ Можно использовать 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
7🔥25 10❤🔥7✍3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Автогенерация Playground в Xcode 26
🤩 Тестовые наборы данных также создаются автоматически.
Для того, чтобы запустить и проверить самим, обязательно нужна бетка macOS Tahoe.
😃 iOS Dev
Для того, чтобы запустить и проверить самим, обязательно нужна бетка macOS Tahoe.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 30❤🔥11👍10 6🔥4🤯3💯1🤝1🆒1
Пара слов про новый фреймворк Containerization
Во-первых, эта история не для iOS-разработчиков.
Новая тулза «container» предназначена для создания и запуска Linux-контейнеров (вкратце, это легковесная виртуалка).
А анонсированный Containerization и позволит использовать эти Linux-контейнеры (в этом процессе каждый контейнер выполняется внутри собственной виртуальной машины, если вы использовали когда-нибудь докер, то поймёте, о чем речь).
Ещё раз, если вы вдруг раньше использовали Linux-виртуалку для таких процессов (раньше альтернативы не было), это вам пригодится. В ином случае смело можно пропустить эту сессию.
P.S. Надеюсь, фанаты нашего канала смогут позволить себе купить более дорогую подписку на AI-помощников, чтобы разобраться, о чём пишут. Или удалят пост как обычно.
😃 iOS Dev
Во-первых, эта история не для iOS-разработчиков.
Новая тулза «container» предназначена для создания и запуска Linux-контейнеров (вкратце, это легковесная виртуалка).
А анонсированный Containerization и позволит использовать эти Linux-контейнеры (в этом процессе каждый контейнер выполняется внутри собственной виртуальной машины, если вы использовали когда-нибудь докер, то поймёте, о чем речь).
Ещё раз, если вы вдруг раньше использовали Linux-виртуалку для таких процессов (раньше альтернативы не было), это вам пригодится. В ином случае смело можно пропустить эту сессию.
P.S. Надеюсь, фанаты нашего канала смогут позволить себе купить более дорогую подписку на AI-помощников, чтобы разобраться, о чём пишут. Или удалят пост как обычно.
Please open Telegram to view this post
VIEW IN TELEGRAM
88🔥21 12❤🔥9⚡2👍2👏2✍1🤩1
Использование памяти в 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
📺 Одна из самых полезных сессий WWDC25, в которой есть несколько важных моментов.
И, как говорится, one more thing!
Please open Telegram to view this post
VIEW IN TELEGRAM
8 17🔥13👍10✍3👏1
Новый инструмент для оптимизации 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
Джед из команды Instruments и Стивен из команды Apple Music рассказали про обновлённые Instruments, а также про полезный способ для профилирования SwiftUI-проектов.
С его помощью можно упростить поиск узких мест в приложении, среди которых долгие (и лишние) обновления view, которые могут вызывать краши, зависания, лаги анимации и переходов, а также задержку при скролле.
📺 В этой сессии можно посмотреть, как на примере реального приложения можно устранить эти проблемы с помощью нового инструмента SwiftUI, Time Profiler (а также Hangs и Hitches).
Умение пользоваться инструментами и понимание, для чего нужен каждый из них не просто полезный скилл, это фактор, который поможет создавать действительно быстрые и отзывчивые приложения.
Что ещё может быть полезно?
🛠 Analyze hangs with Instruments (c WWDC23).
🛠 Optimize CPU performance with Instruments (новое видео на WWDC25).
🛠 Исследование причин зависаний приложений — серия уроков от Apple
А большой разбор возможных кейсов при проблемах с производительностью (и способов предотвращения такого поведения есть
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥20 9✍6❤🔥4👍1 1
Hidden gem для скруглений элементов в новом API — containerConcentric
Бывает множество ситуаций, в которых хочется реализовать cornerRadius в зависимости от формы девайса - начиная от модальных вьюх и заканчивая обычными кнопками, чаще снизу (уверен, что на многих проектах дизайнеры и вас просили придумать способ для таких скруглений).
Так вот - в этой сессии рассказали, что такой способ появится!
🤩 Если использовать
Получается, от приватного апи и лишнего кода для девайсов наконец можно будет избавиться.
Лучший способ применения нового API — тулбары, панель поиска и другие контролы.
😃 iOS Dev
Бывает множество ситуаций, в которых хочется реализовать cornerRadius в зависимости от формы девайса - начиная от модальных вьюх и заканчивая обычными кнопками, чаще снизу (уверен, что на многих проектах дизайнеры и вас просили придумать способ для таких скруглений).
Так вот - в этой сессии рассказали, что такой способ появится!
containerConcentric
, то скругление будет автоматически соответствовать контейнеру на разных дисплеях и в разных формах окон. Получается, от приватного апи и лишнего кода для девайсов наконец можно будет избавиться.
Лучший способ применения нового API — тулбары, панель поиска и другие контролы.
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥38 11👍9🤩2 2👏1
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
Одна из задач на моей работе — это интеграция и поддержка аудио и видеозвонков (p2p и конференций в том числе). Вообще, в этом моя команда прошла довольно большой путь, в том числе пробуя и PJSIP, и решения вроде LiveKit. А про CallKit, например, делился и реальными кейсами. К слову, в рамках теста и поддержки разных алгоритмов, я даже как-то влетел в призы в одном из конкурсов.
Было интересно последить за теми шагами, которые Apple предпринимает в улучшении работы с передачей видео (и добавлении эффектов).
Например, VTFrameProcessor, изначально доступный только в macOS 15.4, теперь появится и в iOS 26.
Но самое интересное для меня в новой сессии - улучшение поддержки передачи видео с низкой скоростью соединения. Появился способ, в котором можно повышать качество видоса в таких условиях с помощью VTLowLatencySuperResolutionScalerConfiguration (не мог не вспомнить мем из CSI).
📺 Рекомендую посмотреть эту сессию всем командам, которые реализуют видеозвонки (и в целом работают с видеоэффектами).
И сразу целых три (!) тестовых проекта (нужна бета оси и Xcode):
Please open Telegram to view this post
VIEW IN TELEGRAM
22🔥19 11👍7⚡3✍2❤🔥2 2💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Элегантное решение для растягивающегося заголовка в SwiftUI
Один из наиболее эффектно выглядящих и несложных в реализации элементов — сохранять позицию вью при скролле (чаще всего вместе с масштабированием).
📖 В этом способе, предложенном Натальей Парфёновой используется модификатор visualEffect (доступен с iOS 17).
Пример использования:
К слову, вот в этом проекте можно чекнуть и другие эффекты при скролле (+ работу с цветами, переходами и не только с помощью шейдеров и рендеринга текста).
😃 iOS Dev
Один из наиболее эффектно выглядящих и несложных в реализации элементов — сохранять позицию вью при скролле (чаще всего вместе с масштабированием).
📖 В этом способе, предложенном Натальей Парфёновой используется модификатор visualEffect (доступен с iOS 17).
Пример использования:
extension View {
func stretchy() -> some View {
visualEffect { effect, geometry in
let currentHeight = geometry.size.height
let scrollOffset = geometry.frame(in: .scrollView).minY
let positiveOffset = max(0, scrollOffset)
let newHeight = currentHeight + positiveOffset
let scaleFactor = newHeight / currentHeight
return effect.scaleEffect(
x: scaleFactor, y: scaleFactor,
anchor: .bottom
)
}
}
}
К слову, вот в этом проекте можно чекнуть и другие эффекты при скролле (+ работу с цветами, переходами и не только с помощью шейдеров и рендеринга текста).
Please open Telegram to view this post
VIEW IN TELEGRAM
13 39👍22🔥12✍6❤🔥5