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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🔨 App Clips
Продолжим рубрику, продуктовые идеи от разработчиков. Одна из самых недооцененных фишек iOS - App Clips. Доступно еще с iOS 14, при чем не требует обратной совместимости. Суть в предоставлении нативного опыта использования приложения без полной загрузки. Скорость открытия сопоставима с открытием обычной web ссылки. Может быть запущено через NFC-метку, QR-код, из карт, поиска Spotlight.
Где это удобнее чем обычное приложение?
🟢Аренда велосипедов/самокатов: пользователь легче согласится запустить сессию, если без установки приложения может начать использование
🟢Кофейня: маленький NFC тег предложит пользователю завести скидочную карту или сделать заказ
🟢Рекламный баннер: необычный QR код на плакате удивит пользователя необычным UX
🟢Музей: коды для запуска контента дополненной реальности или аудиокомментариев

Благодаря ограничению по размеру и прямой зависимости конверсии со скоростью загрузки - можно пересмотреть весь legacy слой и написать с нуля мини приложение на актуальных технологиях.
Можно даже отправлять нотификации в AppClip как в обычное приложение.

Полезные ссылки:
🔵HIG раздел по использованию App Clips
🔵Документация по фреймворку App Clips
🔵Гайд по выбору функциональности для App Clips от Apple
🔵Гайд по способам запуска App Clips
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
🔨 iBeacon
Вчерашний пост про App Clips натолкнул меня на воспоминание о другой непопулярной фиче, iBeacon. Вообще это не отдельный фреймворк а часть CoreLocation, которая имеет невероятные возможности, о которых многие не в курсе. iBeacon — это небольшие устройства, использующие Bluetooth для отправки сигналов на мобильные устройства. Сам стандарт открытый, так что работает отлично и на Android. Суть достаточно простая, каждый телефон может как "слушать" по Bluetooth все близлежащие Beacon так и являться источником сигнала. Таким образом можно как организовывать навигацию внутри помещений, так и реализовывать более интересные гео-сценарии. Например, расположив такой транслятор рядом с воротами гаража в подземном паркинге можно запускать шорткат для открытия ворот. Сами маячки стоят не дорого и на одном аккумуляторе могут работать больше года. Так же их можно использовать для запуска App Clips приложений. Примеры продуктового использования технологии:
🟢Отслеживание местоположения: уведомление о прохождении мимо магазина, отслеживание покупателей.
🟢Уведомление клиентов о готовности их заказа: оповещение о готовности блюд в ресторанах
🟢Навигация в помещении - поиск конкретной полки в магазине
🟢Интерактивные приложения для выставки - сообщать о наличии и местоположении произведений искусства
🟢Объединение iOS устройств в Mesh сеть с позиционированием относительно друг друга

Полезные ссылки:
🔵Демо приложение, позволяющее используя 2 устройства попробовать работу iBeacon
🔵Статья о том как измерить расстояние до метки
🔵Всплывающее сообщение у всех кто проходит мимо
🔵Как превратить iOS устройство в Beacon
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
🔨 Воспроизведение тактильных ощущений
Продолжу рубрику непопулярных но полезных технологий. Haptics это не просто вибрации, это прямой мостик взаимодействия с пользователем. Если звук у большей части пользователей отключен, то через тактильные ощущения можно действительно создать уникальный пользовательский опыт. Главное тут не перестараться. В iPhone невероятно работает Haptics engine, просто вспомните что в iPhone с кнопной в какой-то момент кнопка перестала физически нажиматься и никто не заметил, тачпады в маках так же имитируют нажатие вибрацией.
🟣Система может воспроизводить тактильные ощущения на различных платформах и устройствах.
🟣На iPhone тактильная обратная связь воспроизводится через переключатели, ползунки и кнопки выбора.
🟣В Apple Watch тактильная информация генерируется через Taptic Engine.
🟣На Mac с трекпадом Force Touch тактильные ощущения воспроизводятся при перетаскивании и нажатии контента.
🟣Внешние устройства, такие как игровые контроллеры и Apple Pencil Pro, также могут воспроизводить тактильные сигналы.

Лучшие практики:
🟢Используйте стандартные тактильные шаблоны в соответствии с их значениями.
🟢Последовательно используйте тактильные ощущения для установления причинно-следственной связи.
🟢Предпочитайте использовать тактильные ощущения в дополнение к визуальной и слуховой обратной связи.
🟢Избегайте чрезмерного использования тактильных ощущений, чтобы не утомлять пользователей.
🟢Сделайте тактильные ощущения необязательными и убедитесь, что приложение работает без них.

Пользовательские Haptics:
🟢В играх и неигровых приложениях можно использовать пользовательские тактильные ощущения.
🟢Создавайте динамические тактильные шаблоны в зависимости от ввода данных пользователем или контекста.
🟢Используйте преходящие и непрерывные события для создания различных тактильных паттернов.
🟢Управляйте четкостью и интенсивностью тактильных ощущений для передачи различных физических ощущений.

Полезные ссылки:
🔵CoreHaptics
🔵Подготовка приложения для использования Haptic
🔵Воспроизведение паттернов из файла
🔵WWDC21 предентация CoreHaptics
🔵HIG с примерами
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Внедрение преобразования речи в текст
Apple внедрила функцию преобразования речи в текст в своих приложениях и выпустила новый API SpeechAnalyzer для обработки длинных аудиозаписей. В статье детально рассматривается end-to-end пример использования данного API.

1. Получение звука с микрофона. AudioManager обрабатывает запросы конфигурации аудиосеанса и разрешения доступа к микрофону
2. Буферный преобразователь. Класс BufferConverter преобразует звуковые буферы из одного формата в другой
3. Менеджер транскрипции. Класс TranscriptionManager объединяет компоненты для транскрипции речи

➡️API SpeechAnalyzer все еще beta и доступно только с iOS 26
➡️WWDC сессия по использованию SpeechAnalyzer
Please open Telegram to view this post
VIEW IN TELEGRAM
А вот и мой доклад публично зарелизили, всем спасибо за крутой фидбек, очень приятно! ☺️
Было действительно сложно уместить все знания по этой теме в формат 40-минутного выступления
🤔2
⚡️ Apple и власти РФ ведут переговоры о предустановке RuStore
Apple вступила в переговоры с властями РФ и бизнесом: в ближайшее время может вновь появиться возможность скачивать заблокированные в App Store российские приложения.

Возвращение заблокированных приложений
🔵Российские власти и бизнес ведут переговоры о допуске RuStore в App Store.
🔵Apple пообещала Минцифры не препятствовать размещению RuStore.
🔵Вопрос обсуждался с главой РФПИ Кириллом Дмитриевым.

Возможные сценарии и сроки
🟢Apple может сделать RuStore доступным только в РФ.
🟢RuStore может появиться в iPhone осенью.
🟢С 1 сентября 2025 года все смартфоны и планшеты в России должны иметь предустановленные российские магазины приложений.

От себя добавлю, что технических ограничений для этого нет, альтсторы уже работают в ЕС. Открытым остаются нюансы по оплате комиссий за каждую установку с RuStore. Но с учетом того что заинтересованы в первую очередь банки, в том что они смогут придумать как произвести оплату сомнений не возникает.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥281
🐥12 секретов оптимизации Swift, о которых Apple вам не расскажет
Статья про "секреты" оптимизации, по факту почти все советы из серии капитан очевидность. Несколько действительно полезных:

Принцип Copy on write
🟢Задерживает копирование данных до изменения
🟢 Подходит для передачи массивов без лишних затрат
🔴Избегайте частых мутаций больших коллекций. Например при парсинге JSON можно заранее аллоцровать примерный объем
var users = [String]()
users.reserveCapacity(1000) // Prevents multiple re-allocations


Value и Reference типы
🟢Value типы хранятся в стеке, копирование дешево
🟢Ссылочные типы живут в куче, требуют ARC
🔴Иногда использование структур вместо классов оправдано повышением производительности
var p1 = Point(x: 1, y: 2)
var p2 = p1 // Cheap copy (stack)

var c1 = PointClass(x: 1, y: 2)
var c2 = c1 // Just another reference (heap, ARC overhead)


Инлайн функции
🟢Компилятор может встраивать функции для повышения производительности
🔴Потенциально увеличивает размер бинарника
@inline(__always)
func square(_ x: Int) -> Int {
return x * x
}


Статическая и динамическая диспатчеризация
🟢Статическая - быстрее, определяется при компиляции
🔴Динамическая - медленнее, определяется в рантайме
Использование ключевого слова final ускоряет диспатчеризацию

Ленивые коллекци
🔴Функции высокого порядка могут создавать промежуточные массивы
🟢Используйте ленивые коллекции
// Efficient with lazy evaluation
let squaredLazy = (0..<1000).lazy.map { $0 * $0 }.filter { $0 % 2 == 0 }


Оптимизация расположения памяти: Выравнивание структуры
🟢Сгруппируйте свойства по размеру для компактного аллоцирования.
// Bad layout (wasted memory due to padding)
struct Bad {
var a: Int8 // 1 byte
var b: Int64 // 8 bytes
var c: Int8 // 1 byte
}
// Better layout (group similar sizes together)
struct Good {
var b: Int64
var a: Int8
var c: Int8
}


Оптимизация на уровне компилятора
🟢Включите оптимизацию всего модуля (WMO) для выпуска сборок.
🟢Используйте настройки сборки для уменьшения размера или оптимизации (-Osize и -Ofast)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
☄️ 8 часов за кодом ≠ боль в спине

iOS-разработчики знают: длинные сессии за MacBook — это нагрузка на спину, шею и концентрацию. Решение — Ergostol Optima 2.0, регулируемый стол, который подстраивается под вас, а не наоборот.

🔥 Скидка до -49%, плюс ещё -10% по промокоду IOS10!

Почему именно Optima 2.0:
⚡️ 2 мощных мотора — плавная регулировка без шума.
📏 Диапазон высоты от 69 до 117 см — идеально для работы сидя и стоя.
💾 Пульт с памятью на 3 позиции — быстро переключайтесь между режимами.
🛡 Защита от столкновений и перегрузки — техника и здоровье в безопасности.
🏋️‍♂️ Грузоподъёмность до 80 кг — выдержит всё: мониторы, ноутбуки, аксессуары.
Гарантия 3 года — стабильность при интенсивном использовании.

Optima 2.0 — это апгрейд не только рабочего места, но и вашего здоровья. Меньше усталости, больше энергии для кода и идей.

💡 Работайте эффективно, пишите чище код и заботьтесь о себе.

Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👌3
This media is not supported in your browser
VIEW IN TELEGRAM
🎹 Познакомьтесь с новым дизайном иконок приложений
Совсем скоро пользователи станут массово обновляться до iOS 26 и лучшим способом дешево добиться вау-эффекта от вашего приложения - адаптировать иконку приложения под новые требования:

🟢Обновленные значки основаны на многослойных иконках visionOS и свойствах стекла.
🟢Новый материал позволяет создавать ощущение глубины и подсвечивания изнутри.
🟢Обновленные режимы внешнего вида включают монохромное стекло и тонированное стекло.
🟢Обновленная система проектирования упрощает дизайн для iOS, macOS, watchOS и App Store.
🟢Многослойность является ключевым компонентом нового языка дизайна.
🟢Прозрачность и размытость улучшают внешний вид материала.
🟢Важно учитывать наложение слоев, прозрачность и размытость для максимальной эффективности использования материалов и режимов оформления.

Расскажите дизайнерам и запросите ассеты заранее ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1