7 Aug 2026, 14:01 UTC476 views2 reactionsread 7 August 2026 Photo
🐥 Почему @MainActor и протоколы в Swift 6 могут поссориться
В теории всё просто, есть протокол:
protocol ImageLoader { ... }
Реализация, которая работает с UI:
@MainActor final class ImageLoaderImpl: ImageLoader { ... }
Но Swift 6 начинает задавать неприятный вопрос: а сам протокол изолирован от Main Actor или нет?
И вот тут начинается самое интересное. @MainActor на конкретной реализации не означает автоматически,…
❤2
Signed Андрей Зонов
3 Aug 2026, 14:04 UTC985 views6 reactionsread 7 August 2026 Photo
🎯 Новый уровень работы с фото и видео
Рассматриваем новый фреймворк — Media Intelligence. Если совсем коротко, это API, которое позволяет приложению понимать содержимое фото и видео, а не просто отображать их. Например, определить:
🟣что происходит в кадре
🟣какие объекты есть на изображении
🟣какие сцены встречаются в видео
🟣где начинается нужный момент
🟣какие фрагменты похожи друг на друга
Apple постепенно начинает п…
👍6
Signed Андрей Зонов
30 Jul 2026, 14:00 UTC≈1,210 views7 reactionsread 7 August 2026 Photo
🐥 Swift 6 стал заметно дружелюбнее к Concurrency
Продолжаем эксперименты с многопоточностью в Swift 6, в этой области мы точно движемся в правильном направлении. Одна из главных претензий к Swift 6 звучала примерно так: Я просто включил Swift 6, а компилятор решил переписать половину моего проекта. Sendable, @MainActor, изоляции, десятки новых предупреждений... И вроде всё правильно, но начать миграцию было больно. И…
❤7
Signed Андрей Зонов
29 Jul 2026, 14:03 UTC≈1,100 views9 reactionsread 7 August 2026 Photo
🔨 Liquid Glass не любит UIKit костыли
Очень похожие проблемы рассматриваются в статье, которые выплывали у меня недавно при адаптации Liquid Glass старых UIKit компонентов. Эта тема особенно актуальна сейчас, в связи со скорым релизом iOS 26 и там все еще много мелких плясок с бубном. Для UIKit это отличная проверка того, насколько приложение использует современные API. Все проблемы можно описать одним предложением -…
🤔6👍3
Signed Андрей Зонов
23 Jul 2026, 14:03 UTC≈1,350 views5 reactionsread 7 August 2026 Photo
🎯 Способен ли SpeechAnalyzer заменить Whisper
Последний год, кроме AI из каждого утюга есть еще один тренд - Whisper. Действительно, транскрибация вышла на новый уровень и при должной интеграции в систему можно гораздо быстрее записывать свои мысли или управлять исполнением и вабкодить. Весь год, если в приложении нужна была нормальная speech-to-text транскрибация, ответ почти всегда был один - берём Whisper. Он хоро…
👍3❤1🔥1
Signed Андрей Зонов
23 Jul 2026, 08:59 UTC≈1,120 views12 reactionsread 7 August 2026 AdvertisementPhoto
📱 Как получить Apple Developer Organization без головной боли
Для использования расширенных возможностей Apple🤍 (командные сертификаты, TestFlight, публикация от имени компании) требуется юридическое лицо. Регистрация компании за рубежом — наиболее простой путь.
Easy Payments помогают:
➡️Cоздать ИП или ООО в Грузии
➡️Открыть счёт в банке (дистанционно)
➡️Получить все документы для подачи заявки на Organization-акка…
👍5❤3🔥2🤔2
22 Jul 2026, 06:00 UTC≈1,080 views10 reactionsread 7 August 2026 Photo
🔨 CADisplayLink становится ближе к UIWindowScene
CADisplayLink - для того чтобы свести некоторым олдскулы 😀. Очень давно не сталкивался с задачей куда его было бы логично применить. CADisplayLink нужен для случаев, когда код должен выполняться синхронно с обновлением экрана. Это редкие кейсы, когда важно попасть в ритм с обновлением экрана. Раньше это использовалось для кастомных анимаций или игровых движков, где все…
❤8👍2
Signed Андрей Зонов
20 Jul 2026, 15:00 UTC≈1,030 views7 reactionsread 7 August 2026 Photo
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0532: Optional noncopyable improvements and generalizations в Optional добавляют ref, mutableRef, put(), а ещё обобщают map, flatMap и unsafelyUnwrapped для noncopyable wrapped values! Это все про движение Swift в сторону ownership, borrowing, move-only типов и более явного управления ресурсами. Чтобы Swift нормально работал с noncopyable значениями, Optional тоже должен уметь с ними жить без боли.…
🔥5❤2
Signed Андрей Зонов
17 Jul 2026, 13:00 UTC≈1,260 views9 reactionsread 7 August 2026 Photo
📱 Три SwiftUI group, которые легко перепутать
В SwiftUI есть три модификатора с очень похожими названиями:
➡️ compositingGroup()
➡️ geometryGroup()
➡️ drawingGroup()
Но работают на разных уровнях. Если добавить не тот group, ничего магического не произойдёт. В лучшем случае не изменится ничего. В худшем появится лишняя работа для рендера
🟡compositingGroup() нужен, когда проблема в графическом результате.
Классически…
🔥9
Signed Андрей Зонов
15 Jul 2026, 15:37 UTC≈1,240 views2 reactionsread 7 August 2026 Photo
🐥 Multipeer Connectivity все
Multipeer Connectivity нужен для сценариев, когда несколько Apple-устройств должны найти друг друга рядом и обмениваться данными без вашего сервера, например: локальный multiplayer, передача данных между iPhone и iPad, офлайн-синхронизация, companion app, совместная работа рядом. Но использовать это можно было на бумаге - взял MCSession, нашёл соседние устройства, подключился, отправил да…
❤1👍1
Signed Андрей Зонов
13 Jul 2026, 10:00 UTC≈1,200 views4 reactionsread 7 August 2026 Photo
🔨 Scene Close Confirmation в iOS 27
В iOS 27 у UIWindowScene появился closureConfirmation. Идея простая: перед тем как сцена реально закроется, приложение может показать системное подтверждение. Это именно подтверждение закрытия window scene, а не alert, т.е. пользователь нажал закрыть окно, а приложение может спросить:
🟢сохранить изменения
🟢закрыть без сохранения
🟢отменить закрытие
Сейчас это больше актуально для iP…
👍3❤1
Signed Андрей Зонов
9 Jul 2026, 14:00 UTC≈1,490 views13 reactionsread 7 August 2026 Photo
🌐 Safari MCP server
WebKit добавил Safari MCP server в Safari Technology Preview. Эта новость не только для web-разработчиков, для iOS-разработки она тоже важна. Особенно для тех, кто делает hybrid-интерфейсы, WebView, внутренние панели, лендинги к приложениям или просто пользуется AI-агентами в разработке.
Суть простая: теперь AI-агент может подключиться к реальному окну Safari и сам посмотреть, что происходит на с…
👍10🔥3
Signed Андрей Зонов
Showing the 12 most recent of 13 posts we hold for @ios_broadcast. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.