iOS Broadcast – Telegram
iOS Broadcast
3.49K subscribers
1.92K photos
86 videos
1.07K links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🔨 Agentic Coding в Xcode 26.3
Официальное демо от Apple по интеграции агентов и MCP в Xcode, очень рад что Apple двигается в сторону сообщества а не только пилит свои модели. Xcode 26.3 получил поддержку агентов. Это не автодополнение и не чат в IDE, а режим, где агент может выполнять многошаговые задачи внутри проекта, пробовать собрать проект и самостоятельно анализировать ошибки и исправлять их.

Ключевая идея
🟡Вы формулируете цель (добавь фичу, поправь баг, сделай рефакторинг, добавь тесты)
🟡Агент сам разбивает задачу на шаги, ориентируется на архитектуру проекта и использует инструменты Xcode, чтобы довести до результата

Что конкретно умеет агент в Xcode 26.3:
🟢Писать и редактировать код в нескольких файлах
🟢Искать по проекту и исследовать структуру файлов
🟢Искать в документации и подтягивать контекст
🟢Обновлять настройки проекта (на уровне Xcode)
🟢Итеративно собирать проект, фиксить ошибки и повторять цикл
🟢Проверять визуальный результат через Xcode Previews и корректировать UI

При этом Xcode 26.3 открывает свои возможности через Model Context Protocol (MCP), то есть теоретически можно подключать совместимые инструменты/агентов

Почему это важно?
🟢IDE перестаёт быть редактором с подсказками и становится средой, где можно делегировать цепочку действий
🟢Самый заметный профит — в задачах “сверху вниз”: миграции, рефакторинги, настройка проекта, тесты, фиксы регрессий после SDK-апдейтов
🟢Меньше ручной навигации и контекст-переключений: агент живёт рядом с кодом и работает с проектом, а не с кусками текста

Кому зайдёт больше всего
🟢Командам с большими кодовыми базами и частыми релизами
🟢Тем, кто постоянно делает скучные задачки: обновить зависимости, поправить предупреждения, привести API к новым требованиям, написать тесты под изменения
🟢Тем, кто мигрирует UI под Liquid Glass или под новые требования App Store и не хочет тонуть в рутине

Xcode 26.3 делает следующий шаг: от подскажи строку к выполни задачу в проекте. И это выглядит как самый практичный апгрейд IDE-помощника за долгое время
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
🔧 Я релижу код, который не читаю
Досмотрел сегодня увлекательное интервью Питера Стейнбергера. Это создатель PDF-фреймворк PSPDFKit который был невероятно популярным. История классического пути в iOS разработку - впервые увидел iPhone, впечатлился возможностями и создал приложения для iOS 2. После чего работа в Nokia, успех пет-проекта, выгорание и возрождение интереса к разработке с приходом AI. Мои хайлайты:

Развитие продукта
🔵Фокус на деталях, как у Apple позволил добиться успеха.
🔵Опыт в найме фрилансеров.
🔵Фокус на разработчиках и создание качественных материалов.
🔵Отказ от агрессивных маркетинговых стратегий.
🔵Распространение технологий на все платформы.
🔵Создание эталонного теста для WebAssembly, используемого Google, Microsoft и Apple.

Культура команды
🔵Консервативный подход к разработке API.
🔵Продавать разработчикам сложно из-за их специфических потребностей и ожиданий.
🔵Необходимо найти баланс между простотой и сложностью продукта.
🔵Блог помогает решать интересные проблемы и мотивировать команду.
🔵С ростом компании увеличивается количество бюрократических процедур.
🔵Привлечение большего числа людей создаёт больше проблем.
🔵Эмоциональное выгорание возникает из-за чрезмерной работы, конфликтов и потери веры в проект.

Возвращение к работе
🔵Трудности перехода от нативной разработке к фулстек с вебом
🔵Опыт работы с облачным кодом и Google AI Studio.
🔵Генерация спецификации кода с помощью ИИ.
🔵Проблемы с надёжностью кода, сгенерированного ИИ.
🔵82% разработчиков считают, что ИИ ускоряет написание кода, но 96% не доверяют его точности.

Структура приложений
🔵Архитектура системы важнее понимания каждой строки кода.
🔵Автор использовал Cloud Code, Gemini 2.5 и Opus 4.
🔵Понимание архитектуры помогает различать правильное и неправильное.
🔵Летом AI по мнению автора перешел ту грань, когда можно создавать ПО без ручного написания кода.
🔵Codex лучше подходит для сложных приложений.
🔵Модель начинает с нуля, требуя советов от разработчика.
🔵Обсуждение вариантов и планирование вместе с агентом.
🔵Codex помогает в системном представлении продукта.
🔵Архитектор разрабатывает план системы, но не занимается практической деятельностью.
🔵Автор несёт полную ответственность за код.
🔵 Важны результаты и ощущения от продукта, а не детали реализации.
🔵Люди, любящие сложные задачи и алгоритмы, часто отвергают ИИ.
🔵Написание тестов часто утомительно, но важно для качества кода.
🔵Хорошая документация проекта может быть создана без написания тестов вручную.
🔵Модели ИИ помогают улучшать архитектуру через тестирование.
🔵Адаптация к работе с ИИ требует времени и усилий.
🔵Опытные инженеры должны уметь делегировать полномочия и понимать, над какими деталями работать.

Влияние ИИ на разработку ПО
🔵ИИ повышает продуктивность отдельных разработчиков, но требует пересмотра принципов работы компаний
🔵Необходимость людей с видением продукта и высокой компетенцией
🔵Возможные экономические риски и проблемы с трудоустройством в новом мире
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
🔨 Combine официально мёртв?
Разбираем хайп и что реально делать дальше. По комьюнити разошлась фраза "Avoid using Combine…" из системного prompt-файла Xcode 26.3 для агентного кодинга: там инструментам советуют избегать Combine и предпочитать async/await-версии API. Apple Combine не убивала официально, Combine продолжает жить в официальной документации и доступен как фреймворк. Никакого публичного deprecated/removed заявления в источниках уровня Apple здесь нет. Но вот эпоха реактивного программирования действительно подходит к концу, многие так и не успели его освоить. Агент, который пишет код, распространяет паттерны по проекту. Если в подсказке не использовать Combine, он будет продавливать Concurrency-стиль везде, куда дотрагивается. Почему так?
🔵Combine исторически плохо сочетается с ужесточением concurrency safety: его API трудно сделать безопасным в понимании Swift Concurrency, поэтому Apple логично толкает людей в сторону AsyncSequence/async/await
🔵Combine и async/await решают разные задачи: потоки событий vs задачи
🔵Для операторов типа debounce/throttle есть AsyncAlgorithms, но это другой стиль и полной заменой не является

Combine не умер официально, но Apple явно проталкивает concurrency-first. Это сигнал - Combine не будет ключевым в новом мире агентов
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥32
🔨 Пример подключения Gemini CLI к Xcode 26 3 через MCP
Xcode 26 3 принёс agentic coding. Из коробки интегрированы Claude Code и Codex, но можно подключить и свой агент через MCP мост. Как это сделать детально разбирается в статье на примере Gemini. В результате Xcode сможет выполнять многошаговые задачи в проекте через Xcode инструменты. Удивительно что Gemini не завезли в Xcode, учитывая что Apple выбрала Gemini для новой Siri

Шаги подключения
🔵Xcode Settings открыть Intelligence
🔵Model Context Protocol включить Xcode Tools
🔵В корне проекта выполнить gemini mcp add xcode-tools xcrun mcpbridge
🔵Появится конфиг .gemini/settings.json с командой xcrun и аргументом mcpbridge
🔵Запустить Xcode затем запустить gemini в папке проекта
🔵Xcode попросит разрешение на доступ Gemini CLI к MCP серверу

Полезные команды внутри Gemini
🔵/mcp list показать доступные инструменты
🔵/mcp desc описание инструментов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🈸 Universal Links - сложнее чем вам кажется
Часто iOS разработчики легкомысленно относятся к универсальным ссылкам, открыли первый туториал, прошли все шаги и готово. Если один раз все работало, на этом полномочия заканчиваются. На самом деле комплексно это про инфраструктуру, кеши, валидацию и регрессии, которые вы увидите только когда ссылок станет много, доменов несколько, а приложения локализованы. И это еще мы не упоминаем нюансы с удалением приложений и наличием нескольких приложений с одинаковыми универсальными ссылками (привет банкам под санкциями)
Недавно наткнулся на разбор Universal Links at scale — и там ровно те боли, о которых обычно молчат. Что ломается чаще всего, когда вы выходите за пределы туториалов

1. Никто не валидирует по схеме
🔴 JSON может быть валидным, но Apple App Site Association (AASA) - нет
🔴iOS ошибок не покажет, просто перестанет открывать ссылки
JSON Schema + CI, иначе тестированием ссылок будут заниматься ваши пользователи

2. Между вами и девайсом стоит Apple CDN
🔴iOS берет AASA не с вашего домена, а из кеша Apple
🔴Фикс “задеплоили” ≠ “у пользователей заработало”
Автоматическая проверка + алерты обязательно должна быть автоматизирована

3. Матчинг паттернов - это не regex
🔴У Apple своя логика *, ?, ?*, *?
🔴Ошибка в конвертации = неожиданные пропуски/перехваты ссылок
Обязательно нужно написать тесты на реальные URL и корректно реализовать matching

4. substitutionVariables - спасение для локалей, но ад для проверки
🔴Переменные уменьшают дублирование, но усложняют валидацию
Расширение переменных до matching + регрессионный набор URL

5. percent-encoding и спецсимволы
🔴Там, где начинается локализация и маркетинговые UTM, начинаются сюрпризы
Заранее фиксируйте правила генерации ссылок и тестируйте как у пользователя

От себя еще добавлю - требуется реализовать клиентские алерты, которые будут отлавливать некорректные диплинки и рассказать команде о том что выходит за рамки iOS, и как настроить проверки на CI т.к. при сбое на CDN все равно виновато будет iOS приложение, а значит и надежность на наших плечах 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
😺️ Anthropic courses
Anthropic выложила бесплатные курсы по освоению ИИ. Внутри 300 лекции и практические заданий. Если вы уже трогали Xcode agents - можно начать с Introduction to MCP потом Claude Code in Action. Anthropic параллельно ведёт публичный репозиторий курсов на GitHub где видно что они развивают образовательную линейку в открытую. Есть те кто уже прошел? На сколько вам показались полезными?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📱 Observation framework объективно лучше но нюансов достаточно
Опыт миграции с ObservableObject на @Observable. Что ломается и где подстелить соломку. Главная идея - переход от пуш модели, где объект кричит я изменился к пулл модели, где SwiftUI тихо отслеживает только то к чему реально прикасались во время рендера. Основные места, требующие внимания:
🔴Ловушка ленивой инициализации
@State private var vm = HeavyVM() выглядит как замена @StateObject но init будет дергаться при каждом пересчете body и это может жечь CPU и повторно запускать сайд эффекты. Решением является .task который запустится сразу и будет работать асинхронно
🔴Вложенные observable игнорируются
Родительский observable содержит вложенный observable и UI внезапно не обновляется если view наблюдает только за родителем а изменения происходят глубоко внутри вложенных. Чтобы это справить нужно сделать доступ более гранулярным и передавать вниз именно нужный узел графа плюс использовать @Bindable в конкретной view которая должна обновляться
🔴Изменяемые массивы
Если есть список элементов, свойства которых меняются, это игнорируется. Чтобы это исправить внутри List по items лучше создавать bindable копию элемента массива прямо в скоупе перечисления и дальше использовать уже его (последний скриншот)

Новая ментальная модель, если ее принять то апдейты становятся точнее а перерисовки меньше но первые недели почти у всех будет ощущение что UI сломался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41👌1
⚰️ macOS Tahoe 26.4 Предупреждает о окончании поддержки intel маков
В macOS Tahoe 26.4 Apple добавила системное предупреждение: если пользователь запускает приложение, которое работает через Rosetta 2 (то есть содержит только Intel-бинарники и переводится на лету), macOS покажет поп-ап, что в будущем такое приложение перестанет работать, когда поддержка Rosetta закончится
🔵Tahoe последняя версия macOS, которая запускается на Intel-Mac
🔵Apple планирует завершить поддержку Rosetta 2 после macOS 27
🔵Часть тулов/агентов/ланчеров может незаметно бежать через Rosetta. Возможно вы используете старый софт, который давно не обновлялся, например Steam

Проверьте ваш тулчейн для сборки. Даже если ваше приложение universal, ваш pipeline может зависеть от бинарных CLI (линтеры, генераторы, утилиты подписи) или старых SDK/фреймворков. Актуальный Xcode может требовать macOS 27, а значит все mac mini работающие в качестве агентов для CI/CD можно утилизировать. Если Macbook не на M процессорах у разработчиков уже не осталось, то на CI еще много Intel

Как подготовиться:
🟢Запустите Activity Monitor (Мониторинг системы и проверьте какие процессы запущены с типом Intel
🟢Добавьте выявление на CI: Сделайте job, который падает, если в артефакте/бандле остаются Intel-only куски. Для этого достаточно после сборки пройти по .app/Contents/Frameworks/** и проверить lipo -archs
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM