uk
Feedback
iOS Broadcast

iOS Broadcast

Відкрити в Telegram

Подборка новостей и статей для iOS разработчиков. Новости Kotlin и мультиплатформы @kotlin_broadcast Новости Android @android_broadcast Реклама и прочее @ab_manager

Показати більше
3 514
Підписники
-124 години
Немає даних7 днів
-530 день
Залучення підписників
липень '26
липень '26
+26
в 1 каналах
червень '26
+25
в 1 каналах
Get PRO
травень '26
+36
в 1 каналах
Get PRO
квітень '26
+42
в 1 каналах
Get PRO
березень '26
+96
в 1 каналах
Get PRO
лютий '26
+55
в 1 каналах
Get PRO
січень '26
+43
в 1 каналах
Get PRO
грудень '25
+35
в 1 каналах
Get PRO
листопад '25
+109
в 2 каналах
Get PRO
жовтень '25
+59
в 1 каналах
Get PRO
вересень '25
+114
в 2 каналах
Get PRO
серпень '25
+51
в 0 каналах
Get PRO
липень '25
+37
в 0 каналах
Get PRO
червень '25
+69
в 1 каналах
Get PRO
травень '25
+41
в 0 каналах
Get PRO
квітень '25
+60
в 1 каналах
Get PRO
березень '25
+59
в 2 каналах
Get PRO
лютий '25
+76
в 1 каналах
Get PRO
січень '25
+119
в 2 каналах
Get PRO
грудень '24
+71
в 2 каналах
Get PRO
листопад '24
+78
в 2 каналах
Get PRO
жовтень '24
+103
в 2 каналах
Get PRO
вересень '24
+70
в 3 каналах
Get PRO
серпень '24
+83
в 1 каналах
Get PRO
липень '24
+89
в 1 каналах
Get PRO
червень '24
+108
в 2 каналах
Get PRO
травень '24
+180
в 3 каналах
Get PRO
квітень '24
+142
в 4 каналах
Get PRO
березень '24
+100
в 0 каналах
Get PRO
лютий '24
+171
в 4 каналах
Get PRO
січень '24
+176
в 4 каналах
Get PRO
грудень '23
+185
в 2 каналах
Get PRO
листопад '23
+137
в 6 каналах
Get PRO
жовтень '23
+106
в 5 каналах
Get PRO
вересень '23
+105
в 0 каналах
Get PRO
серпень '23
+89
в 0 каналах
Get PRO
липень '23
+199
в 0 каналах
Get PRO
червень '23
+78
в 0 каналах
Get PRO
травень '23
+131
в 0 каналах
Get PRO
квітень '23
+127
в 0 каналах
Get PRO
березень '23
+56
в 0 каналах
Get PRO
лютий '23
+57
в 0 каналах
Get PRO
січень '23
+101
в 0 каналах
Get PRO
грудень '22
+540
в 0 каналах
Get PRO
листопад '22
+407
в 0 каналах
Get PRO
жовтень '22
+46
в 0 каналах
Get PRO
вересень '22
+22
в 0 каналах
Get PRO
серпень '22
+82
в 0 каналах
Get PRO
липень '22
+78
в 0 каналах
Get PRO
червень '22
+28
в 0 каналах
Get PRO
травень '22
+6
в 0 каналах
Get PRO
квітень '22
+8
в 0 каналах
Get PRO
березень '22
+483
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
30 липня0
29 липня+1
28 липня0
27 липня0
26 липня0
25 липня+1
24 липня+1
23 липня+2
22 липня+1
21 липня+1
20 липня+1
19 липня+2
18 липня+1
17 липня+2
16 липня0
15 липня+2
14 липня+2
13 липня+1
12 липня0
11 липня+1
10 липня0
09 липня+1
08 липня0
07 липня+3
06 липня+1
05 липня0
04 липня+1
03 липня0
02 липня+1
01 липня0
Дописи каналу
🔨 Liquid Glass не любит UIKit костыли Очень похожие проблемы рассматриваются в статье, которые выплывали у меня недавно при
+3
🔨 Liquid Glass не любит UIKit костыли Очень похожие проблемы рассматриваются в статье, которые выплывали у меня недавно при адаптации Liquid Glass старых UIKit компонентов. Эта тема особенно актуальна сейчас, в связи со скорым релизом iOS 26 и там все еще много мелких плясок с бубном. Для UIKit это отличная проверка того, насколько приложение использует современные API. Все проблемы можно описать одним предложением - "Liquid Glass не любит старые хаки" 🟡Если вручную меняли safeAreaInsets, теперь можно получить странные артефакты 🟡Если рисовали свои navigation bar или tab bar поверх системных, эффекты Glass могут работать совсем не так, как ожидалось 🟡Если использовали приватные или неочевидные способы управления фоном, новый дизайн легко начинает рассыпаться Получается интересная ситуация - все что раньше использовалось чтобы подбить интерфейс под дизайны, теперь требует дополнительных приседаний. Очередной раз Apple делает работающей стандартную конфигурацию без граничных кейсов. Если хочешь кастомку, отрисовывай сам. И это касается не только внешнего вида. В iOS 26 Apple добавила новые способы управлять navigation bar, toolbar, tab bar и их поведением. То есть вместо очередного workaround теперь чаще можно найти системное решение. Но все таки Liqud Glass может послужить поводом пройтись по проекту и задать себе несколько вопросов. 🟢Можно ли перейти на стандартный элемент 🟢Точно ли актуальны все старые UIKit-хаки 🟢Можно ли заменить собственное решение новым API из iOS 26 Ну и не забывайте про оригинайльные гайды от Apple по миграции: ➡️ Build a UIKit app with the new design ➡️ Adopting Liquid Glass

2
🎯 Способен ли SpeechAnalyzer заменить Whisper Последний год, кроме AI из каждого утюга есть еще один тренд - Whisper. Действ
🎯 Способен ли SpeechAnalyzer заменить Whisper Последний год, кроме AI из каждого утюга есть еще один тренд - Whisper. Действительно, транскрибация вышла на новый уровень и при должной интеграции в систему можно гораздо быстрее записывать свои мысли или управлять исполнением и вабкодить. Весь год, если в приложении нужна была нормальная speech-to-text транскрибация, ответ почти всегда был один - берём Whisper. Он хорошо распознаёт речь, поддерживает много языков и давно стал выбором по умолчанию. В данной заметке же подсвечивается альтернатива - новый SpeechAnalyzer от Apple. Ребята из Inscribe прогнали benchmark на LibriSpeech и сравнили новый Apple speech API со старым SFSpeechRecognizer и несколькими Whisper-моделями. Результат неожиданный: 🟡На английской речи SpeechAnalyzer оказался точнее всех Whisper-моделей, которые они тестировали, включая Whisper Small 🟡В 3 раза быстрее Whisper Small на том же железе. Apple не просто чуть обновила speech API. Она фактически дала новый on-device движок, который для английской транскрибации уже может быть лучшим выбором на Apple-платформах: 🟢Не нужно тащить модель в bundle 🟢Не нужно возиться с CoreML-конвертацией Whisper 🟢меньше размер приложения 🟢всё работает on-device 🟢API живёт внутри системы 🟢приватность проще объяснить пользователю Но радоваться пока рано, у Whisper всё ещё есть сильные стороны: 🟡намного больше языков 🟡кроссплатформенность 🟡предсказуемое поведение вне Apple ecosystem Если вы делаете speech-to-text под iOS/macOS и вас устраивают языки, которые поддерживает Apple, SpeechAnalyzer теперь нужно рассматривать первым. Но скорее всего все равно как fallback прийдется оставлять Whisper. P.S. С русским у нового SpeechAnalyzer пока не всё гладко. SpeechTranscriber только на бумаге поддерживает русский (в официальном списке ru_RU есть), но в реальных тестах русский ru_RU может не отдаваться через supportedLocales
1 078
3
📱 Как получить Apple Developer Organization без головной боли Для использования расширенных возможностей Apple🤍 (командные
📱 Как получить Apple Developer Organization без головной боли Для использования расширенных возможностей Apple🤍 (командные сертификаты, TestFlight, публикация от имени компании) требуется юридическое лицо. Регистрация компании за рубежом — наиболее простой путь. Easy Payments помогают: ➡️Cоздать ИП или ООО в Грузии ➡️Открыть счёт в банке (дистанционно) ➡️Получить все документы для подачи заявки на Organization-аккаунт Весь процесс сопровождается экспертами, что исключает ошибки и задержки. ➡️ Бесплатная консультация — на сайте Easy Payments или в Telegram. #реклама
963
4
🔨 CADisplayLink становится ближе к UIWindowScene CADisplayLink - для того чтобы свести некоторым олдскулы 😀. Очень давно не
🔨 CADisplayLink становится ближе к UIWindowScene CADisplayLink - для того чтобы свести некоторым олдскулы 😀. Очень давно не сталкивался с задачей куда его было бы логично применить. CADisplayLink нужен для случаев, когда код должен выполняться синхронно с обновлением экрана. Это редкие кейсы, когда важно попасть в ритм с обновлением экрана. Раньше это использовалось для кастомных анимаций или игровых движков, где все должно двигаться вместе с кадрами. В iOS 27 Apple добавила новый способ создавать display link прямо от UIWindowScene. Теперь модель становится более современной: display-driven работа принадлежит конкретной сцене, что как будто создано для iPad или Stage Manager, но я все еще топлю за теорию о складном iPhone. Итак, есть задачи, где одна scene активна, другая нет, а третья вообще переехала на другой display. В такой модели глобально думать про экран становится всё менее удобно, проще сказать: вот конкретная UIWindowScene, и вот работа, которая должна синхронизироваться с её display. Apple даже депрекейтит старый UIScreen.displayLink(...) и предлагает использовать equivalent API на UIWindowScene. Тут меняется модель владения, если анимация, рендеринг или frame-driven логика относится к конкретному окну, то и display link должен жить рядом с этим окном. Так проще управлять жизненным циклом, не продолжать делать работу для scene, которая уже не нужна, проще думать про multi-window поведение. Главное не превращайте CADisplayLink в молоток, это не замена Timer. Если нужно обновить что-то раз в секунду или периодически проверить значение, достаточно обычного timer или async task. Display link стоит доставать тогда, когда важна плавность и привязка к кадрам. Ну и не забываем что это beta API iOS 27, так что API и поведение могут поменяться до релиза.
951
5
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0532: Optional noncopyable improvements and generalizations в Optional добавляют ref, mutableRef, put(), а
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 тоже должен уметь с ними жить без боли. Проблема была в том, что обычный if let для noncopyable optional мог использовать значение: if let payload = optional { ... } И получить ошибку use after consume Просто потому что значение нельзя скопировать, а язык должен очень аккуратно следить, кто им владеет. В SE-0532 предлагают сделать работу с такими optional более явно управляемой: 🟢ref — чтобы получить borrowed reference к значению внутри optional 🟢mutableRef — чтобы изменить значение внутри optional без вытаскивания наружу 🟢put() — чтобы положить новое значение в optional и сразу получить mutable reference на него Плюс map, flatMap и unsafelyUnwrapped становятся более пригодными для noncopyable и nonescapable типов. Понятное дело, что скорее всего нас это особо не заденет, noncopyable-типы пока не стали повседневной частью iOS-разработки, да и врядли станет, но вот для библиотек и низкоуровневого кода, это удобный синтаксический сахар
955
6
📱 Три SwiftUI group, которые легко перепутать В SwiftUI есть три модификатора с очень похожими названиями: ➡️ compositingGro
📱 Три SwiftUI group, которые легко перепутать В SwiftUI есть три модификатора с очень похожими названиями: ➡️ compositingGroup() ➡️ geometryGroup() ➡️ drawingGroup() Но работают на разных уровнях. Если добавить не тот group, ничего магического не произойдёт. В лучшем случае не изменится ничего. В худшем появится лишняя работа для рендера 🟡compositingGroup() нужен, когда проблема в графическом результате. Классический пример: несколько аватарок лежат внахлёст, и вы ставите opacity на весь ряд. Без compositingGroup() прозрачность может примениться к каждой аватарке отдельно. В итоге они начинают просвечивать друг через друга, хотя вы хотели просто сделать весь ряд полупрозрачным. То есть это не про layout. Это про то, как группа выглядит после композиции 🟡geometryGroup() нужен, когда проблема в геометрии. Например, родитель двигает view, а внутри в этот же момент меняется текст, размер или фон. Без явной границы SwiftUI может анимировать части view отдельно, и интерфейс на мгновение выглядит так, будто элемент развалился на куски 🟡drawingGroup() звучит похожим, но это уже другая история. Он рендерит содержимое в offscreen image, а потом SwiftUI работает с ним как с одной картинкой. Иногда это может помочь, если у вас сложная графика, много shape, blur, clipping и повторяющихся операций. drawingGroup() лучше добавлять не по ощущениям, а после профилирования, т.к. он достаточно затратный. А еще он подходит именно для графического SwiftUI-контента. Text, Image, Shape и композиции из них. А вот произвольные UIKit/AppKit view, web view или media player он нормально в картинку не превратит Статья отлично демострирует работу SwiftUI изнутри. Иногда баг в интерфейсе не в анимации, не в layout и не в цветах. Он просто в том, на каком этапе SwiftUI вы пытаетесь сгруппировать view. И чем лучше понимаешь этот pipeline, тем меньше хочется лечить всё подряд случайным .drawingGroup()
1 193
7
🧠 Разработка ИИ-приложений с Claude Code В чем суть? Claude Code ускоряет написание и отладку кода. Но его главная сила — не
🧠 Разработка ИИ-приложений с Claude Code В чем суть? Claude Code ускоряет написание и отладку кода. Но его главная сила — не в магии «сделай всё за меня», а в умении разработчика грамотно ставить задачи. ❌ Если просто попросить «сделай приложение» — получите набор нерабочих кусков. ✅ Если дробить задачу, задавать контекст и контролировать архитектуру — получите готовый продукт. Бесплатный вебинар курса «Вайб-кодинг» 21 июля в 20:00, где разберем практическое использование Claude Code для создания: — Telegram-ботов и ИИ-агентов; — Внутренних сервисов и автоматизаций; — Серверной логики и программных интерфейсов (API). 🎯 Ключевые темы урока: Структура промптов и работа с большими проектами; Пошаговая разработка и проверка результата (а не генерация «вслепую»); Поиск ошибок и доработка готового кода. 👨‍💻 Для кого этот урок? Для тех, кто хочет выстроить процесс вайб-кодинга в реальных продуктах, а не просто играться с генерацией фрагментов. 🚫 Это НЕ для вас, если: — Вы хотите заменить инженерное мышление одним запросом; — Не готовы проверять результат и контролировать код; — Думаете, что ИИ соберет качественный продукт без вашей задачи и контекста. 👉 Зарегистрироваться учиться строить системы, а не просто генерировать строки кода! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 www.otus.ru
729
8
🐥 Multipeer Connectivity все Multipeer Connectivity нужен для сценариев, когда несколько Apple-устройств должны найти друг д
🐥 Multipeer Connectivity все Multipeer Connectivity нужен для сценариев, когда несколько Apple-устройств должны найти друг друга рядом и обмениваться данными без вашего сервера, например: локальный multiplayer, передача данных между iPhone и iPad, офлайн-синхронизация, companion app, совместная работа рядом. Но использовать это можно было на бумаге - взял MCSession, нашёл соседние устройства, подключился, отправил данные. В реальных же приложениях у Multipeer Connectivity давно накопилась репутация фреймворка, который работает только в демо. У пользователей же 🟡устройства видят друг друга, но не подключаются 🟡сессия зависает в connecting, а потом падает в notConnected. 🟡если на двух девайсах всё хорошо, то на нескольких точно разваливается Apple выпустила technote про миграцию с Multipeer Connectivity на Network framework. А на Developer Forums инженеры Apple довольно прямо говорят: если вы упёрлись в проблемы MCSession, смотрите в сторону Network framework. Multipeer Connectivity слишком много прячет внутри себя. Он сам решает, как искать устройства, как соединять peers, как строить сессию и какой сетевой путь использовать. Это удобно на старте, но плохо, когда нужно понять, почему всё сломалось. Network framework менее магический, зато честный: 🟢NWBrowser для поиска устройств 🟢NWListener для входящих соединений 🟢NWConnection для общения 🟢TCP, UDP, QUIC и свой протокол поверх этого Если у вас старый проект на MCSession, не обязательно срочно всё переписывать. Но если вы сегодня проектируете новую фичу для обмена данными между устройствами рядом, я бы уже не начинал с Multipeer Connectivity
1 129
9
🔨 Scene Close Confirmation в iOS 27 В iOS 27 у UIWindowScene появился closureConfirmation. Идея простая: перед тем как сцена
🔨 Scene Close Confirmation в iOS 27 В iOS 27 у UIWindowScene появился closureConfirmation. Идея простая: перед тем как сцена реально закроется, приложение может показать системное подтверждение. Это именно подтверждение закрытия window scene, а не alert, т.е. пользователь нажал закрыть окно, а приложение может спросить: 🟢сохранить изменения 🟢закрыть без сохранения 🟢отменить закрытие Сейчас это больше актуально для iPad и split-screet, iOS-приложения чаще выглядят как один большой экран на одной сцене. Сейчас же сдвиг в сторону адаптации iPadOS и macOS-поведение приезжает в UIKit. Очередная подсказка о возможном открытии нескольких приложений на новом iPhone. Не стоит использовать этот подход везде, Если каждый экран начнёт спрашиватьподтверждение, пользователь очень быстро начнёт ненавидеть это приложение. Возможные сценарии для confirmation: 🟢Есть несохранённые данные 🟢Активная сессия iOS всё дальше уходит от модели одно приложение - один экран. Сцены, окна, Stage Manager, external displays, document apps, visionOS и Catalyst постепенно делают UIKit более "оконным"
1 157
10
🌐 Safari MCP server WebKit добавил Safari MCP server в Safari Technology Preview. Эта новость не только для web-разработчико
🌐 Safari MCP server WebKit добавил Safari MCP server в Safari Technology Preview. Эта новость не только для web-разработчиков, для iOS-разработки она тоже важна. Особенно для тех, кто делает hybrid-интерфейсы, WebView, внутренние панели, лендинги к приложениям или просто пользуется AI-агентами в разработке. Суть простая: теперь AI-агент может подключиться к реальному окну Safari и сам посмотреть, что происходит на странице. Прямо в браузере: DOM, console output, network requests, screenshots, viewport, клики, ввод текста, состояние элементов на странице. Это хороший шаг от генерации кода к нормальной проверке результата. Потому что главная проблема AI-агентов сейчас не в том, что они плохо пишут код. Они часто не видят, что получилось после запуска. Агент может: 🔵Проверить, как страница реально отрисовалась в Safari 🔵Посмотреть ошибки в консоли 🔵Разобраться с network-запросами 🔵Сделать скриншот 🔵Поменять размер viewport 🔵Кликнуть по элементам 🔵Проверить форму или сложный UI-сценарий 🔵Найти часть accessibility-проблем Отдельно важно, что сервер работает локально и не отправляет данные в Apple. Но данные страницы, скриншоты и логи получает тот агент, к которому вы его подключили. Поэтому на продовых админках, личных кабинетах и чувствительных данных я бы включал это аккуратно.
1 376
11
👨🏻‍💻 Создание ИИ-продуктов в Lovable: от идеи до рабочего мини-MVP Раньше путь от идеи до прототипа занимал месяцы. Сейчас
👨🏻‍💻 Создание ИИ-продуктов в Lovable: от идеи до рабочего мини-MVP Раньше путь от идеи до прототипа занимал месяцы. Сейчас ИИ-инструменты позволяют быстро собрать MVP и проверить гипотезу. Но скорость работает, только если есть структура: экраны, логика и путь пользователя. 🗓 14 июля в 20:00 на вебинаре разберём, как создавать мини-MVP в Lovable без классической разработки. Что будет: • Что такое вайб-кодинг и интерфейс Lovable • Как ставить задачи, чтобы получать не макеты, а рабочие пользовательские сценарии • Практика: соберём мини-MVP — интерфейсы, логику экранов, путь пользователя • Как итерациями дорабатывать продукт и улучшать UX без дизайнера • Главные ошибки: перегруженные промпты, отсутствие структуры, потеря логики между экранами Бесплатный вебинар курса «Вайб-кодинг: создание цифровых продуктов с ИИ» ❗️ Не для тех, кто ждёт «продукт по одной кнопке», не готов продумывать сценарии и считает прототип просто набором красивых экранов. 👉 Зарегистрироваться по ссылке Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
640
12
🔨 iOS 27 готовит почку для раскладывающихся iPhone? На WWDC26 Apple сказала вроде бы скучную вещь: в iOS 27 iPhone-приложени
🔨 iOS 27 готовит почку для раскладывающихся iPhone? На WWDC26 Apple сказала вроде бы скучную вещь: в iOS 27 iPhone-приложения становятся resizable, а в Xcode 27 у Live Previews появились resize handles. Звучит как забота про iPhone Mirroring и запуск iPhone-приложений на iPad. Но у меня ощущение, что это не только про них. Если сложить это с текущими слухами про foldable iPhone, картина становится слишком аккуратной. По инсайдам, Apple готовит не раскладушку в стиле Samsung, а "book-style" iPhone: с внешним экраном около 5.5″ и внутренним экраном около 7.8″ - почти маленький iPad, который всё ещё остаётся iPhone. Пишут и про революционный шарнир, позволяющий исключить складку и очень тонкий корпус Очередной раз Apple пытается внедрить в умы iOS разработчиков size классы, адаптивную геометрию, и интерфейсы которые нормально переживают сжатие, растягивание и смену пропорций. Не думаю что выход нового iPhone удет проблемой для iOS, многие приложения прилично работают на iPad, но с выходом нового устройства, должны появиться новые механики в UX. Источники: 🔵Apple SwiftUI / resizability 🔵MacRumors по iOS 27 и утечкам о foldable 🔵Ming-Chi Kuo про foldable
1 299
13
📱 Топ 10 обновлений SwiftUI с WWDC26 Информации после WWDC конкретно про SwiftUI много, но что действительно изменилось? Соб
📱 Топ 10 обновлений SwiftUI с WWDC26 Информации после WWDC конкретно про SwiftUI много, но что действительно изменилось? Собрал свои хайлайты на основе сессий и статьи: 1. Новый внешний вид Liquid Glass Стандартные компоненты получают обновлённый вид почти бесплатно. Можно просто собрать проект в Xcode 27 и посмотреть, что изменилось в реальном интерфейсе 2. Больше контроля над кастомным Liquid Glass Для своих glass-элементов теперь можно явно указать, что они интерактивные. Особенно актуально для iPad и macOS, где интерфейс живёт не только под пальцем, но и под курсором 3. appearsActive для окон Наконец-то можно нормально реагировать на активное и неактивное окно. Маленькая штука, но для iPadOS и macOS это тот самый штрих, который делает приложение менее айпадным на большом экране 4. Toolbars стали взрослее Появились приоритеты видимости, отдельное overflow-меню, возможность закреплять важные действия и автоматически сворачивать navigation bar при скролле. То есть меньше попыток угадать, что спрячется на маленьком экране и где окажется кнопка Share. 5. Новый Document API SwiftUI серьёзно прокачали для document-based приложений. Асинхронное чтение и запись, работа с большими файлами, прогресс операций, несколько сценариев создания нового документа. Для заметок, редакторов, графических приложений и любых файловых историй это прям вау 6. Drag & Drop без танцев Теперь можно добавлять reordering не только в List, но и в сетки, стеки и кастомные layout. И всё это одним подходом на разных контейнерах. 7. Swipe Actions не только внутри List Swipe actions теперь можно использовать в произвольных scrollable layout. Кажется мелочью, пока не надо добавить знакомое iOS-взаимодействие в кастомную ленту или карточный интерфейс 8. Confirmation dialogs и alerts стали ближе к sheets Появился нормальный item-based подход. Положили объект в binding, SwiftUI сам показывает нужный диалог. Меньше булевых флагов вида isShowingDeleteDialog, меньше шансов случайно открыть не тот alert. 9. AsyncImage начал уважать HTTP cache SwiftUI теперь использует стандартное HTTP-кеширование по умолчанию и учитывает cache headers сервера. Это один из тех апдейтов, которые работают сами из коробки, проверьте что на беке хедеры настроены. 10. @State для классов стал ленивым Объекты, созданные внутри @State, больше не пересоздаются впустую при каждом обновлении view. Меньше лишних аллокаций, меньше странных сайд-эффектов в init, чуть спокойнее профайлер. Полезные ссылки: 🔵 What’s new in SwiftUI, WWDC26 🔵 SwiftUI guide, WWDC26 🔵 SwiftUI updates в документации Apple 🔵Build powerful drag and drop in SwiftUI
1 857
14
➕ «В Яндекс я попал только с третьего раза!». Побывали в офисе Яндекс Еды, потрогали самурайский меч и поговорили со старшим
➕ «В Яндекс я попал только с третьего раза!». Побывали в офисе Яндекс Еды, потрогали самурайский меч и поговорили со старшим iOS-разработчиком Львом Бондаренко — обсудили его любимые проекты, тренды мобильной разработки и алгоритмы на собеседованиях. ↘️ Это «1х1» — формат, в котором яндексоиды проводят с вами личную встречу на работе. Смотрите здесь, на YouTube и в VK Видео. 👀 Присоединяйтесь к нашей команде
526
15
🕸 HTTP QUERY: наконец-то GET с body без нюансов HTTP стандарт, обновился и на этот раз добавили новый метод, QUERY. Поражает
🕸 HTTP QUERY: наконец-то GET с body без нюансов HTTP стандарт, обновился и на этот раз добавили новый метод, QUERY. Поражает, конечно что это случилось только сейчас, с учетом какие танцы проводила вся it индустрия. Давайте на примере, какой метод выбрать для метода поиска? 🟡GET метод с аргументами в query мараметрах выглядит сложно и имеет ограничение по-длинне, а лимиты у прокси еще меньше по факту чем в стандартах 🟡POST метод с аргументам в теле запроса не будет кешироваться cdn и будет создавать доп. нагрузку на ваш сервер. Не говоря о том что даже в стандарте этот метод не для этого и является не идемпотентным 🟡GET метод чисто по спеке тоже может иметь тело, но значительная часть прокси его игнорируют или перетирают Вот и получается что есть 3 стула и все с нюансами. Новый метод QUERY, опубликованный как RFC 10008, закрывает именно эту дыру. Его смысл простой: это безопасный и идемпотентный запрос, который может нести тело. QUERY /feed HTTP/1.1 Content-Type: application/json {"q":"swift","limit":20,"sort":"-published"} QUERY говорит серверу, клиенту, CDN, прокси, SDK и будущему человеку в коде: это запрос данных, он не должен менять состояние целевого ресурса, его можно безопасно повторить после сетевого сбоя, и его ответ в принципе может кэшироваться. Пока рано радоваться, блеснуть этим знанием можно разве что на собесе, стандарту нет еще и месяца и aboption произойдет в лучшем случае через год.
1 532
16
🎯 Apple официально депрекейтит ImageCreator ImageCreator больше не будет работать в iOS/iPadOS/macOS/visionOS 27. На форумах+1
🎯 Apple официально депрекейтит ImageCreator ImageCreator больше не будет работать в iOS/iPadOS/macOS/visionOS 27. На форумах тема болезненная: у кого уже была кастомная AI-image UX, остаётся ImagePlaygroundViewController или внешний сервис. Программная генерация картинок через системную on-device модель больше не должна быть частью вашего production-кода. И тут важно не само слово deprecated. Мы все привыкли, что deprecated API может жить годами, иногда почти как домашний питомец в legacy-коде. Здесь история жёстче. В beta OS код ещё будет компилироваться, но Xcode начнёт показывать warnings. При этом TestFlight-сборки с ImageCreator уже не будут нормально работать и могут падать в runtime. А на public-релизах iOS 27+ такой код вообще перестанет компилироваться. Что я бы проверил в проекте: 🟢Есть ли прямое использование ImageCreator в app target, extensions, внутренних SDK или feature modules 🟢Не спрятана ли генерация картинок за абстракцией вроде AIImageService, AvatarGenerator, StickerGenerator 🟢Есть ли fallback для пользователей на iOS 27+, если генерация картинок была частью ключевого сценария Apple меняет границу контроля: вместо того чтобы приложение программно просило систему "сгенерируй мне картинку", разработчику предлагают показывать Image Playground sheet — системный, управляемый Apple компонент. Это заметная разница для продукта. Sheet — это безопаснее, консистентнее и понятнее для App Review. Но это хуже для тех сценариев, где нужна полностью кастомная генерация: аватары, стикеры, обложки, onboarding, игровые ассеты, автоматические превью. Если такой контроль нужен, Apple прямо оставляет второй путь: интегрировать другой image generation service. Перевод с apple-ского: теперь это ваша инфраструктура, ваши лимиты, ваши moderation rules, ваша стоимость запросов и ваши edge cases.
1 295
17
Apple официально депрекейтит ImageCreator ImageCreator больше не будет работать в iOS/iPadOS/macOS/visionOS 27. На форумах те+1
Apple официально депрекейтит ImageCreator ImageCreator больше не будет работать в iOS/iPadOS/macOS/visionOS 27. На форумах тема болезненная: у кого уже была кастомная AI-image UX, остаётся ImagePlaygroundViewController или внешний сервис 🧵 Apple выключает ImageCreator: AI-картинки теперь не просто API Вот это хороший пример новости, которая выглядит маленькой строкой в Apple Developer News, а на практике может сломать вполне реальную фичу в приложении. Apple объявила, что ImageCreator из Image Playground framework прекращает работу в iOS 27, iPadOS 27, macOS 27 и visionOS 27. То есть программная генерация картинок через системную on-device модель больше не должна быть частью вашего production-кода. И тут важно не само слово deprecated. Мы все привыкли, что deprecated API может жить годами, иногда почти как домашний питомец в legacy-коде. Здесь история жёстче. В beta OS код ещё будет компилироваться, но Xcode начнёт показывать warnings. При этом TestFlight-сборки с ImageCreator уже не будут нормально работать и могут падать в runtime. А на public-релизах iOS 27+ такой код вообще перестанет компилироваться. То есть Apple фактически говорит: если вы успели встроить ImageCreator как «тихий» API для генерации картинок внутри своего UX — пора перепроектировать сценарий. Что я бы проверил в проекте: 🟢 есть ли прямое использование ImageCreator в app target, extensions, внутренних SDK или feature modules; 🟢 не спрятана ли генерация картинок за абстракцией вроде AIImageService, AvatarGenerator, StickerGenerator; 🟢 проходят ли TestFlight-сборки на iOS 27 beta без runtime-сюрпризов; 🟢 есть ли fallback для пользователей на iOS 27+, если генерация картинок была частью ключевого сценария; 🟢 не обещает ли onboarding, paywall или marketing screen фичу, которая теперь зависит от удалённого сервиса или системного sheet. Главная мысль Apple не просто убирает класс. Она меняет границу контроля: вместо того чтобы приложение программно просило систему «сгенерируй мне картинку», разработчику предлагают показывать Image Playground sheet — системный, управляемый Apple experience. Это заметная разница для продукта. Sheet — это безопаснее, консистентнее и понятнее для App Review. Но это хуже для тех сценариев, где нужна полностью кастомная генерация: аватары, стикеры, обложки, onboarding, игровые ассеты, batch generation, автоматические превью. Если такой контроль нужен, Apple прямо оставляет второй путь: интегрировать другой image generation service. Перевод с apple-ского: теперь это ваша инфраструктура, ваши лимиты, ваши moderation rules, ваша стоимость запросов и ваши edge cases. Почему это актуально сейчас: 🟡 iOS 27 ещё в beta, но TestFlight уже важен: именно там такие вещи обычно всплывают перед релизом, когда «ну мы потом поправим» внезапно превращается в блокер; 🟡 это хороший сигнал по Apple Intelligence API в целом: не стоит строить продуктовую фичу так, будто любой новый AI-класс Apple навсегда станет стабильным headless API; 🟡 если AI-фича влияет на монетизацию или core UX, её нужно закрывать feature flag’ом, аналитикой, fallback-экраном и отдельным smoke-тестом под новые OS. Мой вывод простой: ImageCreator стоит искать в коде уже сейчас, даже если фича экспериментальная. Apple оставляет Image Playground как пользовательский системный сценарий, но забирает у разработчика удобный программный рычаг. Для маленького pet feature это неприятно. Для production-фичи с paywall — уже миграционный план, а не новость на потом.
1
18
🎯 iOS 27, Your App, and Siri Вот это уже не про вау, Siri наконец-то сможет ответить на вопрос из старой переписки. Для разр+3
🎯 iOS 27, Your App, and Siri Вот это уже не про вау, Siri наконец-то сможет ответить на вопрос из старой переписки. Для разработчика интереснее другое: если новая Siri действительно начинает работать с личным контекстом и данными приложений, то приложение должно заранее объяснить системе, какие сущности у него есть, как их искать и что сейчас показано на экране. Главная мысль Jordan Morgan: лето перед iOS 27 стоит потратить не на гадание про магию AI, а на скучную, но важную инвентаризацию App Intents/App Entities. Для себя вижу схему работы примерно в следующем: 🔵Какие модели должны быть видны Siri, Shortcuts и системному поиску 🔵Есть ли для них легковесные AppEntity, а не попытка тащить доменную модель целиком 🔵Можно ли просто сделать сущность IndexedEntity, чтобы система сама индексировала данные 🔵Попадает ли ваша модель в готовый Apple App Schema. Если да — это почти всегда лучший путь 🔵Есть ли привязка текущего экрана к сущности через NSUserActivity или view annotations 🔵Нужен ли Transferable, чтобы Siri могла передавать ваши данные дальше: например, отправь эту тренировку по почте Отдельно важный сниппет: App Schemas выглядят как самый ценный слой. Apple уже обучает Siri понимать эти домены, их свойства и follow-up вопросы. Если приложение попадает в готовую схему — сообщения, контакты, медиа, события и т.п. — лучше использовать ее, а не изобретать свой полусамодельный смысловой слой. Где пока мутно Самый неприятный вопрос: что делать приложениям, чьи данные не ложатся в заранее заданные App Schemas? В статье честно отмечено, что это пока не до конца понятно. @Property(indexingKey:), IntentValueQuery, IntentValueRepresentation и прочие приятные механики сильнее всего раскрываются там, где система уже знает тип данных. Мой вывод: для iOS 27 подготовка к Siri — это не «добавить AI-фичу». Это привести модель данных к виду, в котором система может ее понять: AppEntity, IndexedEntity, схемы, экранный контекст и экспорт через Transferable. Начинать стоит с одного-двух ключевых пользовательских сценариев, где фраза вида "Siri, что я недавно делал в этом приложении?" реально имеет смысл. После подготовки, это все обложить аналитикой и следить какие сценарии пользуются спросом и добавить их в регресс вашего приложения
1 649
19
📦 Swift Package Index присоединился к Apple Отличная новость для всего swift сообщества! Это не просто сайт, где удобно иска
📦 Swift Package Index присоединился к Apple Отличная новость для всего swift сообщества! Это не просто сайт, где удобно искать Swift-пакеты. SPI давно стал нормальным рабочим фильтром перед тем, как тащить зависимость в проект: посмотреть совместимость с платформами, версии Swift, документацию, активность, состояние пакета и вообще понять, живое это что-то или археология с красивым README. И теперь Apple забирает эту часть экосистемы ближе к себе. В официальном посте аккуратно говорят: для разработчиков и авторов пакетов прямо сейчас ничего не меняется. Пакеты индексируются как раньше, документация хостится как раньше, проект остаётся open source, а инженеры Apple будут участвовать в развитии вместе с комьюнити. Самая интересная часть — в том, что они прямо называют будущие направления: discovery, security, reliability, package signing и identity. То есть Swift Package Index постепенно может стать не просто поиском по пакетам, а более официальным слоем доверия вокруг Swift-зависимостей. Если вы не использовали SPI до этого но используете swift package, самое время проверить: 🟢какие SPM-зависимости у вас живут в проектах 🟢есть ли у них нормальная поддержка актуальных Swift/iOS/macOS версий 🟢есть ли DocC или хотя бы внятная документация 🟢кто автор, как часто выходят релизы, реагируют ли на issues 🟢насколько критична зависимость для production-кода 🟢сможете ли вы быстро заменить её, если пакет заброшен или сломается на новом SDK. SPI уже сейчас помогает отвечать на эти вопросы. А если Apple дальше добавит identity/signing, такие проверки могут стать частью нормального инженерного процесса.
1 535
20
👨🏻‍💻 Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса. Хороший интерфейс получается там, где есть
👨🏻‍💻 Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса. Хороший интерфейс получается там, где есть хороший промпт. Точность на входе = качество на выходе. 🗓 На открытом вебинаре 2 июля в 20:00 МСК: ➡️ Разберем, как формулировать задачи для Lovable, чтобы получать предсказуемый результат с первой попытки. ➡️ Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс. ➡️ Рассмотрим способы доработки результата через встроенный редактор и повторные запросы. ➡️ Обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль. Бесплатный вебинар курса «Вайб-кодинг: создание цифровых продуктов с ИИ» 🔗 Записаться: по ссылке Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
720