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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🈸 Знакомимся с финалистами
Ежегодно, App Store Awards отмечаются самые лучшие и популярные приложения в App Store, а также их разработчики. 45 финалистов в 12 различных категориях.
На мой взгляд, AppStore "фичиринг" и особенно награды это неформальный способ коммуникации Apple с сообществом о том, что ценится в приложении. Что я заметил:
🟢Раздел App Privacy либо совсем пустой либо минимально заполнен
🟢Поддержка языков
🟢Поддержка iPhone, iPad, Mac, Apple Watch и Apple Vision

Есть исключения, но 2/3 критериев всегда удовлетворены.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Переходы через зум

Мне всегда нравились переходы через зум, это было частью магии iOS когда она называлась еще iPhoneOS, но с iOS 18 в SwiftUI сделать такой переход стало значительно проще.
🟢Переходы с масштабированием доступны для навигации push/pop и полноэкранных переходов
🟢В SwiftUI переходы между масштабами легко реализовать с помощью модификаторов navigationTransition и matchedTransitionSource
🟢В UIKit можно настроить исходное представление и View назначения с помощью свойства preferredTransition
🟢Исходное представление может быть любым, но должно соответствовать View, который запускает переход
🟢Жесты, такие как сжатие, прокрутка по вертикали и горизонтали, доступны для интерактивного изменения масштаба

Материалы:
🟣WWDC24 переходы через зум в SwiftUI и UIKit (14 мин.)
🟣Официальный туториал Apple по реализации переходов через зум в UIKit
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Swift-Testing. Параметризованные тесты

Параметризованные тесты в Swift помогают проверять функции с различными входными данными. Все рассматривается на примере теста для разделения измерений частоты сердечных сокращений на зоны в приложении CardioBot:
🟢Параметр arguments макроса @Test позволяет передавать параметры тестовым функциям
🟢По умолчанию Swift тестирует с комбинацией всех доступных параметров 25 раз
🟢Функция zip может использоваться для объединения параметров и запуска теста 5 раз
🟢Массивы и другие типы данных, соответствующие протоколу сбора данных, могут использоваться для передачи аргументов
🟢Параметризованные тесты помогают улучшить качество кода и избежать ошибок в тестировании
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥽 RealityKit. Симуляция стекла через прозрачные объекты
На старте карьеры, после получения навыков iOS разработки, я заинтересовался разработкой игр. Собрал несколько демок в Unity, реализовал проект с одногрупниками по замене старого тренажера современной игрой и потерял интерес. Я понял что в разработке игр нет никакой магии, но много костылей. Vision Pro возродил интерес к этой области. Просто посмотрите, как это красиво!

🔵Рендеринг прозрачных объектов в 3D-системах сложен. Стекло является наиболее распространенным прозрачным предметом. Эту задачу обычно решают через прозрачные объекты. В этом подходов множество нюансов
🔵При низкой металлизации - стекло потеряет отражения, при высокой - станет слишком темным.
🔵Непрозрачность стекла: слишком высокая - стекло будет выглядеть твердым и потеряет прозрачность, слишком низкая - стекло станет слишком прозрачным и потеряет отражения
🔵Стеклянные предметы, созданные таким образом, выглядят искусственно.
🔵Имитация преломления стекла с помощью излучения окружающей среды - лучший подход.
🔵Преломление фона можно смоделировать, контролируя нормали отражения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
📱 Изучаем интерактивные Bottom Sheets в SwiftUI

Как это часто бывает, Apple добавила Bottom Sheets компонент в свои приложения без добавления в UIKit и только после того как он "настоялся" сделала его публичным. На WWDC21появился компонент для UIKit, а в iOS 16 для SwiftUI добавили возможность презентации presentationDetents(_:). Каким бы простым этот компонент не казался, кроличья нора по его настройке и кастомизации - гигантская:
🟢SwiftUI имеет Bottom Sheets разных размеров
🟢Bottom Sheet автоматически упорядочиваются снизу вверх
🟢Индикатор перетаскивания на листе регулируется автоматически в зависимости от количества Bottom Sheets
🟢Динамическое управление высотой Bottom Sheet возможно с помощью привязки
🟢Предотвращение скрытия Bottom Sheets возможно с помощью модификатора interactiveDismissDisabled(_:)
🟢Фоновое взаимодействие с Bottom Sheet возможно с помощью модификатора presentationBackgroundInteraction(_:)

Автор собрал все эти нюансы в одной статье, удобно 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2