{"version": "https://jsonfeed.org/version/1.1", "title": "iOS Dev", "home_page_url": "https://t.me/c/1181264642", "feed_url": "https://tg.davvie.com/static/ios-dev.json", "description": "iOS Dev", "items": [{"id": "https://t.me/c/1181264642/2130", "url": "https://t.me/c/1181264642/2130", "title": "🎉 Xcode теперь поддерживает JSON-формат для проектов  В новой бете Xcode 27.2 выкатили новый формат ", "content_html": "🎉 <strong>Xcode теперь поддерживает JSON-формат для проектов</strong><br /><br />В новой бете Xcode 27.2 выкатили новый формат проектов на основе JSON (.xcproj), который отличается большей читаемостью, удобством при силянии и простотой редактирования. <br /><br />Это ж сколько нервов мы все потратили на мержи, ух!<br /><br />Включить его можно будет в инспекторе файлов. Проекты в формате .xcproj также будут открываться в более ранних версиях Xcode 27. (184661114).<br /><br />📖 <a href=\"https://developer.apple.com/documentation/xcode-release-notes/xcode-27_2-release-notes#New-Features\">Release notes здесь</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2130-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-16T18:39:19+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2130-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2129", "url": "https://t.me/c/1181264642/2129", "title": "Почему натив - будущее мобильных приложений?  На протяжении нескольких последних лет часто можно был", "content_html": "<strong>Почему натив - будущее мобильных приложений?</strong><br /><br />На протяжении нескольких последних лет часто можно было встретить аргумент, что кросс-платформенная разработка выгоднее бизнесу, так как код вы пишете один раз, ну и все остальные побочные плюшки.<br /><br />Этот подход был справедлив в какой-то степени, по крайней мере эта позиция вполне казалась рациональной и имеющей право на существование с учётом требуемых ресурсов.<br /><br />Но в этой статье Shopify рассказывают, почему они выбрали путь натива и как пришли на эти рельсы обратно с React Native.<br /><br />Интересно, например, <a href=\"https://shopify.engineering/back-to-native#:~:text=be%20migrated%20soon.-,Preventing%20slop,-It%E2%80%99s%20tempting%20to\">как они предотвратили слоп</a>, да и как вообще происходила миграция.<br /><br />📖 <a href=\"https://shopify.engineering/back-to-native\">Почитать можно здесь</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2129-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-16T13:16:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2129-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2128", "url": "https://t.me/c/1181264642/2128", "title": "", "content_html": "", "date_published": "2026-09-16T08:33:15+00:00"}, {"id": "https://t.me/c/1181264642/2127", "url": "https://t.me/c/1181264642/2127", "title": "⚡️ Так, кто сделал эту фичу в 27 оси - срочно повышение!  Интересно, это тот же человек, который впи", "content_html": "⚡️ <strong>Так, кто сделал эту фичу в 27 оси - срочно повышение!</strong><br /><br />Интересно, это тот же человек, который впилил вставку кода подтверждения?<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2127-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-15T06:27:01+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2127-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2126", "url": "https://t.me/c/1181264642/2126", "title": "Что скрывает IPA-файл? Смотрим бесплатно в опенсорсе  Наверняка вы знаете, что по факту это архив, к", "content_html": "<strong>Что скрывает IPA-файл? Смотрим <del>бесплатно</del> в опенсорсе</strong><br /><br />Наверняка вы знаете, что по факту это архив, куда практически никто и никогда не заглядывает.<br /><br />Делюсь нативным macOS-приложением, которое разбирает .ipa по байтам. Достаточно перетащить файл, и сразу можно чекнуть Mach-o заголовки, сегменты и секции, провижн-профили и кучу всего, включая зависимости и превью каждого ресурса. <br /><br />Кстати, внутри есть кайфовый режим с 3D-сценой, в которой можно чекнуть каждую группу файлов внутри. <br /><br />Буквально город из пэйлоада: мы раскладываем бинарник в геологические слои сегментов, а слинкованные библиотеки можно посмотреть в формате созвездия.<br /><br />Набор нужных скиллов также лежит в репе, чтобы вы смогли повторить сами (если захотите).<br /><br />🛠 <a href=\"https://github.com/Viktorianec/BinaryExplorer\">Всё открыто и бесплатно, документация и сам репозиторий здесь</a>.<br /><br />Жду ваших ⭐️ в репе (хотя бы две уже праздник).<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-09-14T11:10:41+00:00"}, {"id": "https://t.me/c/1181264642/2125", "url": "https://t.me/c/1181264642/2125", "title": "Рубрика очевидное-невероятное  Вы знали, что если на странице документации Apple в конце дописать .m", "content_html": "<strong>Рубрика очевидное-невероятное</strong><br /><br />Вы знали, что если на странице документации Apple в конце дописать .md, то, барабанная дробь - можно получить весь контент в разметке маркдаун?!<br /><br />Те, кто использует агентную разработку - вы знаете, зачем вам эта информация. Не знаю, насколько сейчас большое покрытие, но для многих страниц это точно справедливо.<br /><br />📖 Пример: <a href=\"https://developer.apple.com/documentation/swiftui.md\">https://developer.apple.com/documentation/swiftui.md</a><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2125-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-14T06:56:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2125-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2124", "url": "https://t.me/c/1181264642/2124", "title": "Я был там, Гэндальф, это было 3000 лет назад  😃 iOS Dev", "content_html": "Я был там, Гэндальф, это было 3000 лет назад<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2124-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-11T06:35:20+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2124-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2123", "url": "https://t.me/c/1181264642/2123", "title": "⚡️Где разработчикам и IT-проектам лучше всего открыть компанию  Почти половина тех, кто сейчас откры", "content_html": "⚡️<strong>Где разработчикам и IT-проектам лучше всего открыть компанию</strong><br /><br />Почти половина тех, кто сейчас открывает компанию за рубежом приходят из IT или онлайн-бизнеса. Причина в том, что платформы по типу App Store не дают монетизировать проекты без иностранного юрлица и счета. Но универсальной юрисдикции, которая подойдет всем, просто не существует. <br /><br /><strong>Давайте разберем основные варианты:</strong><br /><blockquote>🇬🇪 Грузия — ИП со статусом Small Business, 1% с оборота. Берут под фриланс-доход и чаще чтобы подтвердить адрес вне РФ: без него не открывается ни банк, ни Wise, ни PayPal.<br /><br />🇬🇧 Англия — LTD, регистрация в Companies House. Запрос обычно такой: нужно юрлицо под аккаунт Apple Developer и выплаты. <br /><br />🇺🇸 США —  Компания с получением EIN. Классический вариант под Stripe и подписочные модели.<br /><br />🇭🇰 Гонконг —  регистрация в налоговом органе IRD, апостилирование документов, печать. Чаще берут под оффшорный статус и работу с местными партнёрами.<br /><br />🇨🇾 Кипр — под контрагентов, которым нужны европейские реквизиты. Есть возможность подключения Stripe.<br /><br />🇦🇪 ОАЭ —  Фризон много: Meydan, IFZA, RAKEZ и другие, и пакет собирается под конкретную задачу.</blockquote><br /><br />Кстати, с <strong>подборкой помогли ребята из </strong><a href=\"https://t.me/+s5zALuQv6q1iMzI6\"><strong>Easy Payments</strong></a>, которые с 2018 года помогают удаленно открывать зарубежные компании и <strong>счета к ним.</strong><br /><br />👉 Так что, если не знаете, какая страна подойдет вашему проекту? <a href=\"https://bothelp.cc/mini?domain=easypayments&amp;id=2&amp;utm_source=telegram&amp;utm_medium=promo&amp;utm_campaign=iosdev&amp;utm_content=post-10-09\"><strong>Напишите им в Telegram</strong></a>, специалисты бесплатно проконсультируют и подберут самый подходящий вариант.<br /><img src=\"https://tg.davvie.com/static/-1001181264642--2123-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-10T11:04:16+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2123-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2122", "url": "https://t.me/c/1181264642/2122", "title": "Две мысли на счёт iPhone Duo  Первое. Мне кажется, что новый тип девайсов легко подтолкнёт покрытую ", "content_html": "<strong>Две мысли на счёт iPhone Duo</strong><br /><br /><em>Первое</em>. Мне кажется, что новый тип девайсов легко подтолкнёт покрытую пылью разработку под iPad. Сами посудите, в любом случае нам нужны будут интерпретации SplitView, чтобы сделать нормально и удобно для пользователей взаимодействие с нашими приложениями. <br /><br />И, в конце-концов, сделав такое для айфона, останется напильником подтюнить до релиза планшетной версии (касается тех, кто не поддерживает параллельно обе версии). <br /><br />А там уже и до мак-релиза рукой подать. Практически уверен, что в Apple думали/знали о таком варианте развития событий. Осталось немного подтолкнуть разработчиков к волне апдейтов (а там они ещё и девайс купят, тоже плюс). <br /><br /><em>Второе</em>. Вы просто посмотрите на эти отражения в раскладном режиме. Это как вообще! Текнолоджия!<br /><br />Кстати, <a href=\"https://developer.apple.com/download/applications/\">релиз-кандидат Xcode уже доступен</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-09-10T07:46:06+00:00"}, {"id": "https://t.me/c/1181264642/2121", "url": "https://t.me/c/1181264642/2121", "title": "Так-так-так, подвезли ответ и выложили ролики с описанием того, как нам вообще жить дальше адаптиров", "content_html": "Так-так-так, <a href=\"https://t.me/iosdev/2119\">подвезли ответ</a> и выложили ролики с описанием того, как нам вообще <del>жить дальше</del> адаптировать наши приложения (и про лэйаут, и про сцены).<br /><br />📺 <a href=\"https://developer.apple.com/videos/all-videos/\">Сохраняем, смотрим</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2121-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-09T19:08:58+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2121-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2120", "url": "https://t.me/c/1181264642/2120", "title": "Когда в Apple позаботились о тревожниках. Теперь не только о качестве сна и шагах беспокоиться, но и", "content_html": "Когда в Apple позаботились о тревожниках. Теперь не только о качестве сна и шагах беспокоиться, но и о биологическом возрасте)<br /><br />👍 Если крутая фича, 👎 - перебор.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-09-09T18:47:14+00:00"}, {"id": "https://t.me/c/1181264642/2119", "url": "https://t.me/c/1181264642/2119", "title": "Предвкушаете, как будете пилить навигацию под iPhone duo?   😃 iOS Dev", "content_html": "Предвкушаете, как будете пилить навигацию под iPhone duo? <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-09-09T18:00:29+00:00"}, {"id": "https://t.me/c/1181264642/2118", "url": "https://t.me/c/1181264642/2118", "title": "Какой музыкальный стиль используется в вашем swift-коде?  Пришла пора необычных находок, как говорит", "content_html": "<strong>Какой музыкальный стиль используется в вашем swift-коде?</strong><br /><br />Пришла пора необычных находок, как говорится.<br /><br />Norikazu Muramoto поэкспериментировал <a href=\"https://strudel.cc/#JDogcygiW2JkIDxoaCBvaD5dKjIiKS5iYW5rKCJ0cjkwOSIpLmRlYyguNCk%3D\">с аналогом способа</a> для написания битов буквально из кода (его синтаксиса). Вот тут есть вся <a href=\"https://strudel.cc/workshop/getting-started/\">документация</a> (с примером, которые можно послушать прямо в браузере).<br /><br />📖 <a href=\"https://github.com/1amageek/SwiftMusic\">Есть даже целая репа SwiftMusic</a> (хотя автор и признаётся, что не очень стабильная).<br /><br />Так и представляю, как на код-ревью чекаем реквесты <a href=\"https://www.kinopoisk.ru/film/725190/\">в стиле дирижёра из Одержимости</a>).<br /><br />В комментах добавил ещё одно видео со звуком.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-09-09T06:55:24+00:00"}, {"id": "https://t.me/c/1181264642/2117", "url": "https://t.me/c/1181264642/2117", "title": "😃 iOS Dev", "content_html": "😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2117-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-08T06:56:22+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2117-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2116", "url": "https://t.me/c/1181264642/2116", "title": "🧭 Podlodka iOS Crew: разработка с AI    С 14 по 18 сентября пройдет новый сезон Podlodka iOS Crew. В", "content_html": "🧭 <strong>Podlodka iOS Crew: разработка с AI  </strong><br /><br />С 14 по 18 сентября пройдет новый сезон Podlodka iOS Crew. В этот раз в центре внимания авторов конференции то, как AI меняет iOS-разработку.<br /><br /><strong>Что ждёт участников</strong>:<br /><br />🍏 <strong>Стратегия внедрения терминальных ИИ-агентов и MCP-интеграции</strong> в ежедневную iOS-разработку<br /><br /><strong>🍏</strong><strong> AI как экзокостюм мобильного разработчика:</strong> harness, skills, CLI, orchestration, validation и evals<br /><br /><strong>🍏</strong><strong> Знания о том, как запускать локальные модели</strong> на Apple Silicon<br /><br /><strong>🍏</strong><strong> Готовые скрипты, которые можно забрать в свой проект: </strong>шаблон рабочего пространства агента, примеры скиллов и MCP, пайплайн от Jira-задачи до Merge Request.<br /><br />И это ещё не всё! Подробности о сезоне смотрите на сайте, и там же есть билеты по early-bird цене. <br /><br />👉 <a href=\"https://podlodka.io/ioscrew?utm_campaign=main_ios_crew_18&amp;utm_source=telegram&amp;utm_medium=paid&amp;utm_content=iosdev&amp;erid=2SDnjdRGKYf\"><strong>Билеты на Podlodka iOS Crew</strong></a><br /><br />😎 Для скидки воспользуйтесь промокодом: <code>ios_crew_18_WPtimr</code><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2116-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2115-1.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2114-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2113-3.jpg\" alt=\"media\"/>", "date_published": "2026-09-07T10:06:33+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2116-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2115-1.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2114-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2113-3.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2112", "url": "https://t.me/c/1181264642/2112", "title": "Как в 4 раза повысить производительность симуляторов одним трюком  Разработчики поделились способом ", "content_html": "<strong>Как в 4 раза повысить производительность симуляторов одним трюком</strong><br /><br />Разработчики поделились способом уменьшения памяти, занимаемой симулятором, за счет отключения неиспользуемых фоновых служб.<br /><br />В теории, с помощью этой опции можно получить значительный прирост при использовании GitHub-раннеров (и не только).<br /><br />🛠 <a href=\"https://github.com/MobAI-App/simslim\">Посмотреть на подход можно в открытом репозитории на GitHub</a> (уже почти 2 000 звёзд).<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2112-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2112-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-09-07T07:11:17+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2112-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2111", "url": "https://t.me/c/1181264642/2111", "title": "", "content_html": "", "date_published": "2026-09-04T09:01:50+00:00"}, {"id": "https://t.me/c/1181264642/2110", "url": "https://t.me/c/1181264642/2110", "title": "Реализация стека уведомлений с эффектом стекла  Для алертов существует так много библиотек и своих р", "content_html": "<strong>Реализация стека уведомлений с эффектом стекла</strong><br /><br />Для алертов существует так много библиотек и своих решений, что их просто невозможно пересчитать.<br /><br />📺 <a href=\"https://www.youtube.com/watch?v=4cLWzZ7_0Bk\">Вот, например, в этом видео</a> рассказано, как можно сделать необычный эффект для таких уведомлений.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2110-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2110-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-09-03T08:33:50+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2110-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2109", "url": "https://t.me/c/1181264642/2109", "title": "Ушла эпоха?  Вчера произошло сразу два знаковых события для Apple: Тернус поприветствовал всех на но", "content_html": "<strong>Ушла эпоха?</strong><br /><br />Вчера произошло сразу два знаковых события для Apple: <a href=\"https://x.com/johnternus/status/2094814214787633367?s=46&amp;t=FR0ycz4TeFKitNX5lGxDyg\">Тернус</a> поприветствовал всех на новой должности, а еще Apple прислали всем письма на счет отсутствия поддержки Intel-процесссоров в macOS 27.<br /><br />Из текста письма (и здравого смысла):<br /><br /><blockquote>Отказ от поддержки компьютеров Mac на базе Intel позволит упростить процесс разработки, а также уменьшить размер приложения.</blockquote><br /><br />📖 Про то, как оптимизировать приложение для Apple Silicon, можно почитать вот <a href=\"https://developer.apple.com/documentation/apple-silicon\">здесь</a>. <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2109-0.jpg\" alt=\"media\"/>", "date_published": "2026-09-02T07:53:55+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2109-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2108", "url": "https://t.me/c/1181264642/2108", "title": "Зачем писать код, если есть ИИ?  Зачем учиться считать, если есть калькулятор? Зачем изучать историю", "content_html": "<strong>Зачем писать код, если есть ИИ?</strong><br /><br />Зачем учиться считать, если есть калькулятор? Зачем изучать историю, если это было давно? Для чего нужна география, если можно открыть яндекс.карты? Почему нас просят решать уравнения, если это <em>в жизни не пригодится? </em><br /><br />Вам повезло, если вы не встречали людей, которые задаются этими вопросами. <br /><br />Сам процесс изучения формирует стержень решения <strong>неизвестных</strong> вопросов, вся суть подготовки именно в этом. <br /><br />Например, самые популярные мастера живописи тоже изучали базу, а известные архитекторы тоже не сразу строили шедевры.<br /><br />Вот, например, недавно слышал аргумент, что Линус Торвальдс тоже слопит. Ну, это верно, вот только он саморучно сделал линукс и гит <strong>до</strong> того, как ии вообще замаячил на горизонте.<br /><br />Учиться нужно, хотя мозгу всегда проще пойти по пути наименьшего сопротивления. <br /><br />С Днем Знаний!<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-09-01T08:21:44+00:00"}, {"id": "https://t.me/c/1181264642/2107", "url": "https://t.me/c/1181264642/2107", "title": "Как посмотреть несколько состояний в SwiftUI через #Preview  Во многих случаях вьюхи SwiftUI имеют б", "content_html": "<strong>Как посмотреть несколько состояний в SwiftUI через </strong><code>#Preview</code><br /><br />Во многих случаях вьюхи SwiftUI имеют более одного стейта: пустой и заполненный контент, загрузка, ошибки и так далее.<br /><br />В Xcode 27 появилась новая опция просмотра всех вариантов сразу.<br /><br />📖 <a href=\"https://artemnovichkov.com/blog/previewing-swiftui-states-with-preview-arguments\">В этой статье</a> Артем рассказывает, как можно использовать такой подход на примерах.<br /><br />🛠 <a href=\"https://github.com/artemnovichkov/PreviewArgumentsExample\">А вот тут</a> доступен проект на GitHub.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2107-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-31T06:26:51+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2107-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2106", "url": "https://t.me/c/1181264642/2106", "title": "74 туториала по созданию шейдеров на FragCoord  Xor, крутой разработчик, работы которого часто крутя", "content_html": "<strong>74 туториала по созданию шейдеров на FragCoord</strong><br /><br />Xor, <a href=\"https://x.com/xordev\">крутой разработчик</a>, работы которого часто крутятся, например, на той самой гигантской сфере в Лас-Вегасе, сегодня опубликовал огромную серию обучающих постов.<br /><br />Тут и работа со светом, а ещё очень много математики и способов прокачать производительность.<br /><br />📖 <a href=\"https://fragcoord.xyz/u/Xor?tab=tutorials\">Туториалы в открытом доступе вот тут</a>.<br /><br />➡️ <a href=\"https://fragcoord.xyz/explore\">Сама галерея здесь</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-08-28T09:58:24+00:00"}, {"id": "https://t.me/c/1181264642/2105", "url": "https://t.me/c/1181264642/2105", "title": "Как на мои пет-проекты повлияло отключение оплаты мобильными операторами в России  Помните, было вре", "content_html": "<strong>Как на мои пет-проекты повлияло отключение оплаты мобильными операторами в России</strong><br /><br />Помните, было время, когда можно было оплачивать покупки/подписки в сторе с помощью моб. операторов? <br /><br />А потом - <a href=\"https://t.me/iosdev/1902\">оп, и всё</a>.<br /><br />Пока в интернетах торговцы воздухом показывают фэйковые скриншоты, я решил показать, к чему это приводит на примере личного аккаунта.<br /><br />По опросу несколько сотен человек у нас в канале <a href=\"https://t.me/iosdev/1983\">так или иначе пробовали что-то делать</a>, надеюсь, что у вас дела получше.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2105-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-28T06:56:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2105-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2104", "url": "https://t.me/c/1181264642/2104", "title": "Работа с фоновыми задачами в Swift  📖 В первом посте из серии рассказано о настройке BGTaskScheduler", "content_html": "<strong>Работа с фоновыми задачами в Swift</strong><br /><br />📖 <a href=\"https://calcopilot.app/blog/posts/running-ios-background-tasks-reliably-part1/\">В первом посте из серии</a> рассказано о настройке BGTaskScheduler. <br /><br />Автор также делится, как путём проб, ошибок и наблюдений ему удалось достичь приемлемого уровня надёжности в собственном приложении, которое используется для синхронизации событий между календарями.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2104-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-27T11:45:34+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2104-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2103", "url": "https://t.me/c/1181264642/2103", "title": "🥳 Новая документация по Swift: один сайт, чтобы править всеми  📖 Объединили справочник по языку, осн", "content_html": "🥳 <strong>Новая документация по Swift</strong>: <del>один сайт, чтобы править всеми</del><strong><br /></strong><br />📖 <a href=\"https://docs.swift.org/latest/documentation/\">Объединили справочник по языку</a>, основным библиотекам и инструментам в едином месте.<br /><br />Обновлённый ресурс также <a href=\"https://docs.swift.org/latest/documentation/swiftjavadocumentation\">включает</a> в себя основную инфу по интеропу с плюсами, java и так далее.<br /><br />➡️ <a href=\"https://x.com/SwiftLang/status/2092345612830454174\">Официальный анонс</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2103-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-26T06:30:14+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2103-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2101", "url": "https://t.me/c/1181264642/2101", "title": "⚡️ Apple СНИЗИЛИ стоимость на салфетку в 2 раза  Почему они не назвали её Polishing Cloth Air?  😃 iO", "content_html": "⚡️ <strong>Apple СНИЗИЛИ стоимость на салфетку в 2 раза</strong><br /><br />Почему они не назвали её Polishing Cloth Air?<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2101-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-25T15:41:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2101-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2100", "url": "https://t.me/c/1181264642/2100", "title": "Вся база для изучения iOS в одном месте  Напомню, что у канала есть и приятное дополнение с большим ", "content_html": "<strong>Вся база для изучения iOS в одном месте</strong><br /><br />Напомню, что у канала есть и приятное дополнение с большим количеством уникальных тем и авторских разборов. <br /><br />Вы, конечно, можете подключать её для подготовки/проведения собеседований. <br /><br />Но кроме этого, её можно использовать и как платформу для изучения необычных анимаций, десятков алгоритмических задач и огромного количества полезных материалов.<br /><br />Подпишитесь сегодня 💰 <a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>с приятными условиями на бусти</strong></a> или в ⭐️ <a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>в телеграме</strong></a>.<br /><br /><blockquote>🧠  Что вы получите сразу после подписки:<br />➡️Разбор нескольких сотен вопросов на сложные темы<br />➡️<a href=\"https://t.me/iosdev/1149\">Вопросы на чтение кода</a><br />➡️<a href=\"https://t.me/iosdev/1185\">Многопоточность</a><br />➡️<a href=\"https://t.me/iosdev/1215\">DispatchQueue: практические вопросы</a><br />➡️<a href=\"https://t.me/iosdev/1227\">Swift Concurrency</a><br />➡️<a href=\"https://t.me/iosdev/1238\">Алгоритмы: терминология и примеры</a><br />➡️<a href=\"https://t.me/iosdev/1293\">Память: ARC, side table, флаги, утечки</a><br /><br />И более практические примеры: <a href=\"https://t.me/iosdev/1879\">разбор подходов к кэшированию на практике</a>, <a href=\"https://t.me/iosdev/1846\">изучение жестов в SwiftUI</a> с демонстрацией в виде отдельного приложения, <a href=\"https://t.me/iosdev/1783\">способы улучшения производительности</a> приложений, роадмапы <a href=\"https://t.me/iosdev/1682\">по swift concurrency</a> и <a href=\"https://t.me/iosdev/1942\">развитию iOS-разработчика</a> и многое другое.<br />Несколько десятков Metal-шейдеров с исходным кодом уже там.</blockquote><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2100-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-25T12:25:43+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2100-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2099", "url": "https://t.me/c/1181264642/2099", "title": "Создание масштабируемых серверных приложений на Swift  Если вы задумывались, как создать нечто подоб", "content_html": "<strong>Создание масштабируемых серверных приложений на Swift</strong><br /><br />Если вы задумывались, как создать нечто подобное без лишней головной боли, то следующая статья от Tibor Bödecs может послужить хорошей стартовой точкой.<br /><br />📖 <a href=\"https://theswiftdev.com/building-scalable-backend-apps-in-swift/\">В этом посте</a> он рассказывает, чему научился за последние несколько лет, и объясняет, с какой стороны вообще возможно подойти к бэкэнд-разработке.<br /><br />Рассматриваются различные подходы к архитектуре (с поправкой, что серебряной пули всё равно нет, только предпочитаемые способы).<br /><br />Автор щедро делится понятными примерами кода, показывая, как правильно изолировать логику и избежать типичных ошибок при проектировании системы. <br /><br />➡️ А <a href=\"https://t.me/iosdev/1677\">вот тут можно почитать</a> про реализацию<strong> </strong>гибридного приложения с помощью Vapor для сервера и SwifUI+Observation для клиента.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2099-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-25T07:22:29+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2099-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2098", "url": "https://t.me/c/1181264642/2098", "title": "И еще про оригинальность ИИ: попробуйте загадать у ChatGPT любое число от 1 до 30, получится 17?  Не", "content_html": "И еще про оригинальность ИИ: попробуйте загадать у ChatGPT любое число от 1 до 30, получится 17?<br /><br />Не верите - закидывайте скриншоты в комменты, проверим)<br /><br />Ладно, это просто наиболее статистически вероятный ответ у очень большого количества моделей. <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2098-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-24T14:33:11+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2098-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2097", "url": "https://t.me/c/1181264642/2097", "title": "1 000 000 человек нажали в LinkedIn кнопку «похоже на ИИ-Слоп»  Всего несколько недель прошло с анон", "content_html": "<strong>1 000 000 человек нажали в LinkedIn кнопку «похоже на ИИ-Слоп»</strong><br /><br />Всего несколько недель прошло с анонса, а целый миллион пользователей уже <a href=\"https://www.theverge.com/ai-artificial-intelligence/983502/linkedin-ai-slop-button-one-million-people-message\">воспользовались своим правом модерации.</a><br /><br />Ставьте 👍, если хотели бы такое и в телеге (я бы добавил это вообще куда угодно, особенно в яндекс.музыку и аналоги).<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2097-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-24T07:05:34+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2097-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2096", "url": "https://t.me/c/1181264642/2096", "title": "", "content_html": "", "date_published": "2026-08-21T08:10:41+00:00"}, {"id": "https://t.me/c/1181264642/2095", "url": "https://t.me/c/1181264642/2095", "title": "И ещё: разбор, почему ИИ-пузырь и все компании несут просто лютые убытки доступным языком)  Полная в", "content_html": "И ещё: разбор, почему ИИ-пузырь и все компании несут просто лютые убытки доступным языком)<br /><br /><a href=\"https://x.com/Bart_Mol/status/2090186439917027794\">Полная версия</a><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-08-20T13:29:29+00:00"}, {"id": "https://t.me/c/1181264642/2094", "url": "https://t.me/c/1181264642/2094", "title": "Знаете, что отличает крутого спеца от имитатора деятельности?  Способность задавать правильные вопро", "content_html": "<strong>Знаете, что отличает крутого спеца от имитатора деятельности?</strong><br /><br />Способность задавать правильные вопросы. <br /><br />Не задавать любые вопросы на каждый чих и поворот в сторону от тзшки, а предвидеть большие проблемы в будущем. <br /><br />Сомневаться.<br /><br />Потому что когда-то раньше такие проблемы уже <strong>были</strong>. Называйте это как хотите: насмотренностью, техническим бэкграундом, набитыми шишками,  чередой комов в блинах, да неважно.<br /><br />Умение предвидеть проблемы это то, за что можно и нужно платить огромные деньги. <br /><br />Способ находить оптимальное решение, которое, внимание - не самое правильное или объективно может более производительное, а именно оптимальное в условиях ресурсов (сил команды, пропускной способности серверов, добавьте любые N-факторов).<br /><br />Не всегда извилистая архитектура (только не обижайся, дядюшка Боб, мы все тебя чтим) является оптимальной в условиях горящих дедлайнов или когда фичу нужно выкатить раньше остальных конкурентов по рынку. И уж тем более совсем редко решение продвинутого sol 5.7 (или что там сейчас царь горы у нас) является тем, что требуется. Про историю с крючком и подписками <a href=\"https://t.me/iosdev/1908\">посмотрите мой пост</a>.<br /><br />Поэтому особенно здорово, что даже когда все глашатаи совсем распоясалаись и кричат, что ии это манна буквально, существуют два с половиной человека, которые придерживают вожжи и просят обратить внимание и послушать тех, кто<a href=\"https://apptractor.ru/info/articles/senior-inzhenery-zamolchali-i-vot-pochemu-eto-plohoy-znak.html\"> хотя бы ещё что-то понимает</a>.<br /><br />Задавать вопросы - неудобно, замедляет команду, всегда вызывает споры и рассуждения. И наверняка у каждого были ситуации, когда вы думали, да нафига я вообще это спрашиваю, только время трачу. Нет, это нужно делать, как там говорил Роберт Невилл: «Если вы там... если кто-нибудь слышит меня... Вы не одни»<br /><br />В каждой команде, цикл продукта в которой длится хотя бы лет эдак пять, жизненно необходим такой человек. <br /><br />И особенно нужен именно сейчас, когда грань между нейрослопом и надёжной архитектурой становится такой тонкой.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-08-20T11:42:32+00:00"}, {"id": "https://t.me/c/1181264642/2093", "url": "https://t.me/c/1181264642/2093", "title": "Дизайн-системы для 200 лучших приложений в сторе  🛠 Нашёл репозиторий на гитхабе, в котором разработ", "content_html": "<strong>Дизайн-системы для 200 лучших приложений в сторе</strong><br /><br />🛠 <a href=\"https://github.com/Meliwat/awesome-ios-design-md\">Нашёл репозиторий</a> на гитхабе, в котором разработчик <del>добавил</del> наслопил описание дизайн-систем самых популярных приложений, уже готовых к интеграции с ИИ.<br /><br />Каждый файл представляет собой описание с точными шестнадцатеричными значениями для цветов, описанием градиентов, состояниями компонентов, кривыми движения и тактильными эффектами.<br /><br />Все описано в простом формате Markdown, который Claude, Cursor, Codex читают напрямую.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2093-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-19T09:39:01+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2093-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2092", "url": "https://t.me/c/1181264642/2092", "title": "🔔 Напоминаем про главный iOS-митап августа от hh.ru и Dodo Engineering!  Встречаемся уже в этот четв", "content_html": "🔔 <strong>Напоминаем про главный iOS-митап августа от </strong><a href=\"hh.ru\"><strong>hh.ru</strong></a><strong> и Dodo Engineering!</strong><br /><br />Встречаемся уже в этот четверг, 20 августа, чтобы обсудить iOS-инфраструктуру, CI, аналитику и архитектуру.<br /><br /><strong>В программе:</strong><br />🍎 <strong>Виталий Барабанов (</strong><a href=\"hh.ru\"><strong>hh.ru</strong></a><strong>)</strong> — покажет iOS-инфраструктуру <a href=\"hh.ru\">hh.ru</a> и весь путь фичи от коммита до релиза.<br />🍎 <strong>Алексей Березка (Dodo Engineering)</strong> — расскажет, как находить узкие места в CI и ускорять сборки приложения.<br />🍎 <strong>Андрей Максимкин (</strong><a href=\"hh.ru\"><strong>hh.ru</strong></a><strong>)</strong> — разберет обновление мобильной аналитики и объединение подходов iOS и Android.<br />🍎 <strong>Тимур Шафигуллин (</strong><a href=\"hh.ru\"><strong>hh.ru</strong></a><strong>)</strong> — поделится опытом развития архитектуры MVVM на большом проекте.<br /><br />🗓 <strong>Когда:</strong> 20 августа в 18:30<br />💻 <strong>Формат:</strong> бесплатно, онлайн<br /><br />👉 <a href=\"https://hhru-2025.timepad.ru/event/4126101/?utm_refcode=c62e08b9c30afc668a20d268ffdc0150fbb885a0\"><strong>Успейте зарегистрироваться</strong></a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2092-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-18T13:08:37+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2092-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2091", "url": "https://t.me/c/1181264642/2091", "title": "Круговой слайдер с использованием CAShapeLayers и неожиданным компонентом  Себ Видаль назвал это ни ", "content_html": "<strong>Круговой слайдер с использованием CAShapeLayers и неожиданным компонентом</strong><br /><br />Себ Видаль <a href=\"https://x.com/SebJVidal/status/2085740712365072654\">назвал</a> это ни много ни мало, как невероятным впечатляющим инженерным подвигом всей команды UIKit.<br /><br />Под капотом используется приватный <code>_UILiquidLensView</code> и <code>setLifted:animated:</code>.<br /><br />А знаете, кто ещё любит использовать приватные компоненты? <br /><br />Конечно же, это телега! И у неё, например, <a href=\"https://github.com/TelegramMessenger/Telegram-iOS/blob/6ad963e5b62d354da79040f388ae2b9132fb17b8/submodules/TelegramUI/Components/LiquidLens/Sources/LiquidLensView.swift\">с помощью этого апи </a>реализован кастомный таббар. <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2091-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2091-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-08-18T11:01:27+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2091-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2090", "url": "https://t.me/c/1181264642/2090", "title": "Эпичное возвращение стеклянных элементов управления окнами в новой macOS   В новой бете макоси верну", "content_html": "<strong>Эпичное возвращение стеклянных элементов управления окнами в новой macOS </strong><br /><br />В новой бете макоси вернули красоту (уже доступно, я поставил).<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2090-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2090-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-08-18T06:05:26+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2090-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2089", "url": "https://t.me/c/1181264642/2089", "title": "Рекомендации от Apple по созданию хэдеров в App Store  На WWDC нам заспойлерили новую опцию для прод", "content_html": "<strong>Рекомендации от Apple по созданию хэдеров в App Store</strong><br /><br />На WWDC нам заспойлерили <a href=\"https://t.me/iosdev/2008\">новую опцию для продвижения приложений</a>, а сейчас Apple добавили гайдлайны, примеры и важные моменты, на которых нужно акцентировать внимание.<br /><br />📖 <a href=\"https://developer.apple.com/news/?id=kug6m2ea\">Официальный анонс Apple</a>.<br /><br />Шаблоны заголовков:<br /><br />🔗 <a href=\"https://developer.apple.com/go/?id=figma-creative-assets-templates\">Для фигмы</a>.<br />🔗 <a href=\"https://developer.apple.com/go/?id=photoshop-universal-asset-template\">Для фотошопа</a>.<br />🔗 <a href=\"https://developer.apple.com/go/?id=pixelmator-universal-asset-template\">Для Pixelmator</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-08-17T06:44:40+00:00"}, {"id": "https://t.me/c/1181264642/2088", "url": "https://t.me/c/1181264642/2088", "title": "Как Polymarket написал своё приложение для Android на Swift  📖 Любопытную историю выложили на форуме", "content_html": "<strong>Как Polymarket написал своё приложение для Android на Swift</strong><br /><br />📖 Любопытную историю <a href=\"https://forums.swift.org/t/our-android-app-is-written-in-swift/88778\">выложили</a> на форуме эпла, в которой разработчики поделились своим опытом используя Skip (и к чему это привело).<br /><br />Внутри приложения почти 170 000 строк кода Swift: модели, сетевые компоненты, бизнес-логика и более 120 ViewModels. Тот же код лежит в основе их приложения для iOS.<br /><br />Также они пишут, что уже сейчас готовы рекомендовать использовать Skip любой команде <a href=\"https://forums.swift.org/t/our-android-app-is-written-in-swift/88778#:~:text=and%20we%27d%20recommend%20this%20path%20to%20any%20team\">с достаточным опытом разработки</a>.<br /><br />Хотя мне кажется, что вся эта штука выглядит как хайптрейн (у полимаркета явно есть ресурсы на нативную разработку), но нельзя отдать должное в их способности довести дело до релиза.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2088-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-14T10:22:51+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2088-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2087", "url": "https://t.me/c/1181264642/2087", "title": "🛒 Выход в глобальный App Store из РФ: поэтапный разбор  Разберем сценарий, в котором вы самостоятель", "content_html": "<strong>🛒</strong><strong> Выход в глобальный App Store из РФ: поэтапный разбор</strong><br /><br />Разберем сценарий, в котором вы самостоятельно выходите в зарубежный App Store на примере реального клиента который обратился в компанию <a href=\"https://t.me/+s5zALuQv6q1iMzI6\">Easy Payments</a>. Это многоэтапный процесс, где важны последовательность и внимание к деталям.<br /><br />А если захотите разобраться еще детальней, загляните в <a href=\"https://t.me/easypay_sup_bot?start=dl-1785234624331\">Бот Easy Payments</a>. Там выложили <strong>закрытый кейс</strong> с более глубоким разбором уже другого проекта, <strong>где открывали компанию в Грузии</strong>, показали весь процесс без сокращений.<br /><br />💙 <a href=\"https://t.me/easypay_sup_bot?start=dl-1785234624331\"><strong>Там же</strong></a> можно бесплатно задать любые вопросы по App Store и получить промокод на <strong>скидку $150</strong> на регистрацию компании в любой юрисдикции.<br /><img src=\"https://tg.davvie.com/static/-1001181264642--2087-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2086-1.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2085-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2084-3.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2083-4.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2082-5.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2081-6.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2080-7.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2079-8.jpg\" alt=\"media\"/>", "date_published": "2026-08-13T10:20:59+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2087-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2086-1.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2085-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2084-3.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2083-4.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2082-5.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2081-6.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2080-7.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2079-8.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2078", "url": "https://t.me/c/1181264642/2078", "title": "Сеньор-разработчик, когда джун прислал ему очередной нейрослоп в мерж-реквесте на 10 000 строк  😃 iO", "content_html": "<strong>Сеньор-разработчик, когда джун прислал ему очередной нейрослоп в мерж-реквесте на 10 000 строк</strong><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2078-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2078-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-08-13T05:49:58+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2078-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2077", "url": "https://t.me/c/1181264642/2077", "title": "Долистали до главного релиза августа — iOS-митапа от hh.ru 🍏  Наши эксперты и специалисты Dodo Engin", "content_html": "<strong>Долистали до главного релиза августа — iOS-митапа от</strong> <a href=\"http://hh.ru/\"><strong>hh.ru</strong></a> 🍏<br /><br />Наши эксперты и специалисты Dodo Engineering представят четыре доклада об инфраструктуре, CI, мобильной аналитике и архитектуре. Ждём iOS-разработчиков и техлидов, которые развивают крупные приложения и хотят ускорить рабочие процессы!<br /><br />🛠<strong> iOS-разработчик</strong> <a href=\"http://hh.ru/\"><strong>hh.ru</strong></a><strong> Виталий Барабанов расскажет, как устроена iOS-инфраструктура</strong> <a href=\"http://hh.ru/\"><strong>hh.ru</strong></a><strong> и какой путь проходит приложение от коммита до релиза.</strong><br /><blockquote>Обсудим CI/CD, сборочные машины, авторелиз, кодогенерация аналитики и сокращение ручных операций</blockquote><br /><br />🛠<strong> iOS-техлид Dodo Engineering Алексей Березка рассмотрит, как находить узкие места в CI и ускорять сборки.</strong><br /><blockquote>Поговорим об интеграции OpenTelemetry с GitHub для мониторинга очередей, прогонов и статусов, а также поиска узких мест. Практические способы ускорить парсинг тестов, распараллелить джобы и оптимизировать сборку с помощью кэшей</blockquote><br /><br />🛠<strong> iOS-разработчик</strong> <a href=\"http://hh.ru/\"><strong>hh.ru</strong></a><strong> Андрей Максимкин разберёт перезагрузку мобильной аналитики и объединение подходов iOS и Android.</strong> <br /><blockquote>Проанализируем переход к единому масштабируемому подходу в мобильной аналитике для iOS и Android, а также организацию совместной работы команд, результаты внедрения и применение AI</blockquote><br /><br />🛠 <strong>iOS-разработчик</strong> <a href=\"http://hh.ru/\"><strong>hh.ru</strong></a><strong> Тимур Шафигуллин поделится какой получилась MVVM на проекте из 17 тысяч Swift-файлов и 164 модулей.</strong><br /><blockquote>Разберём причины отказа от чистого SwiftUI, объединения бизнес- и UI-состояния и создания собственных опенсорс-библиотек, а также альтернативы и решения возникших проблем.</blockquote><br /> <br />📆 <strong>Когда:</strong> 20 августа в 18:30, начало в 18:30. <br /><br />✌️ <strong>Участие:</strong> бесплатно, онлайн<br /><a href=\"https://hhru-2025.timepad.ru/event/4126101/?utm_refcode=632117521e266604e4a33f40b05a1b15bec73788\"><strong>Регистрируйся тут</strong></a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2077-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-12T11:03:20+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2077-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2076", "url": "https://t.me/c/1181264642/2076", "title": "Повторяем стопки карт как в Apple Wallet в 50 строк кода  На выхах залип на анимацию из Apple Wallet", "content_html": "<strong>Повторяем стопки карт как в Apple Wallet в 50 строк кода</strong><br /><br />На выхах залип на анимацию из Apple Wallet и решил попробовать воспроизвести с минимальным количеством кода.<br /><br />Если всю физику жеста можно определить как единый прогресс, то когда тянем вниз, можно представить, что видимое смещение мы делим на длину нашего хода.<br /><br />Но тут есть подводный камень. Если мы будем анимировать всю стопку одинаково, то на выходе получим скучную, приклеенную однотипную анимашку, это не круто.<br /><br />Поэтому можно разбавить свои кэфом пружины (просто каждую чуть медленее, чем предыдущую)🎩<br /><br /><blockquote><code>  ForEach(Array(colors.enumerated()), id: \\.offset) { index, color in<br />      RoundedRectangle(cornerRadius: 26, style: .continuous)<br />          .fill(color.gradient)<br />          .offset(y: CGFloat(index) * (peek + (openStep - peek) * progress))<br />          .animation(.interactiveSpring(response: 0.30 + Double(index) * 0.035,<br />                                        dampingFraction: 0.74),<br />                     value: progress)<br />  }</code></blockquote><br /><br />А на <strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>На бусти</strong></a><strong> и </strong><strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>в телеграме</strong></a> уже доступен не только этот пример, но ещё и расширенный и целая тонна полезных фишек.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2076-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2076-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-08-12T07:36:49+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2076-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2075", "url": "https://t.me/c/1181264642/2075", "title": "⚡️ Помните, я шутил про специальную пометку приложений в AppStore, если для них использовались нейро", "content_html": "⚡️ <strong>Помните, я шутил </strong><a href=\"https://t.me/iosdev/820\"><strong>про специальную пометку приложений</strong></a><strong> в AppStore, если для них использовались нейронки?</strong><br /><br />Мы сегодня стали на шаг ближе к этому.<br /><br />Claude опубликовал <a href=\"https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content\">свой подход к маркировке контента</a>, и, внимание, отметки о том, что использовалась нейронка,<strong> </strong>будут<strong> </strong><a href=\"https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content#:~:text=attached%20to%20files.-,1.%20Embedded%20watermarks%20in%20text,-When%20a%20supported\"><strong>даже в тексте</strong></a>. <br /><br />Кстати, <em>вотермарку в тексте нельзя увидеть, но она есть</em>.<br /><br />Каждое предложение, которое Клод пишет для вас (а вернее, за вас), теперь несет в себе подпись, которую вы никогда не увидите. <br /><br />К слову, в других популярных генераторах изображений, например, уже есть пометка, которая однозначно позволяет определить, что картинку делал не человек.<br /><br />Ждём отдельный апстор для ИИ-приложений? <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-08-11T05:31:05+00:00"}, {"id": "https://t.me/c/1181264642/2074", "url": "https://t.me/c/1181264642/2074", "title": "Протоколы в Swift и main actor  📖 В статье рассматриваются особенности использования атрибута @MainA", "content_html": "<strong>Протоколы в Swift и main actor</strong><br /><br />📖 <a href=\"https://www.swiftbysundell.com/articles/swift-protocols-and-the-main-actor/\">В статье</a> рассматриваются особенности использования атрибута <code>@MainActor</code>.<br /><br />Например, автор приводит ситуации, когда мы можем поймать неожиданные ошибки компиляции. <br /><br />А также делится подходом, когда можно смешивать в одном протоколе изолированные и неизолированные требования, обеспечивая совместимость с любыми типами без доп. ограничений.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2074-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-10T09:57:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2074-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2073", "url": "https://t.me/c/1181264642/2073", "title": "", "content_html": "", "date_published": "2026-08-07T09:23:51+00:00"}, {"id": "https://t.me/c/1181264642/2072", "url": "https://t.me/c/1181264642/2072", "title": "⚡️В России перестали работать «Яндекс», «Макс», сайты маркетплейсов и банков  Проблемы с сетевым сое", "content_html": "<strong>⚡️В России перестали работать «Яндекс», «Макс», сайты маркетплейсов и банков</strong><br /><br />Проблемы с сетевым соединением наблюдаются в сервисах маркетплейсов, разных IT-компаний и социальных платформ, а также операторов связи и банков.<br /><br />📖 <a href=\"https://habr.com/ru/news/1067458/\">Новость на хабре</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2072-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-06T10:50:17+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2072-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2071", "url": "https://t.me/c/1181264642/2071", "title": "Практическое руководство по совместимости Liquid Glass с UIKit  Осень приближается, а вместе с ней и", "content_html": "<strong>Практическое руководство по совместимости Liquid Glass с UIKit</strong><br /><br />Осень приближается, а вместе с ней и <a href=\"https://t.me/iosdev/2028\">новые требования к приложениям</a>. <br /><br />📖 <a href=\"https://fatbobman.com/en/posts/liquid-glass-a-field-guide-to-uikit-compatibility-pitfalls/\">В связи с этим делюсь подходом</a> к некоторым важным моментам при обновлении диза и переезде на жидкое стекло.<br /><br />В реальной жизни все равно все сложнее, но некоторые из описанных кейсов в любом случае полезны.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2071-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-06T08:43:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2071-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2070", "url": "https://t.me/c/1181264642/2070", "title": "Давно себе хотел пополнить коллекцию необычных девайсов и в этот раз добавил себе trmnl - e-ink экра", "content_html": "Давно себе хотел пополнить <a href=\"https://t.me/iosdev/1699\">коллекцию</a> необычных девайсов и в этот раз добавил себе <a href=\"https://trmnl.com/\">trmnl</a> - e-ink экран на максималках. <br /><br />Ребята когда-то на кикстартере собрали 150к вместо требуемых 5к, а потом ещё и <a href=\"https://trmnl.com/blog/hackathon-book-readers-winners\">выиграли хакатон</a> с решением в виде отдельной читалки (можно чекнуть <a href=\"https://github.com/yazdipour/trmnl-telegram\">на гитхабе</a>) для контента в телеге.<br /><br />Из особенностей: есть гигантская коллекция плагинов на любой вкус, но меня привлекла возможность самому пилить любые нужные фичи (да хоть крашлитикс или апметрику можно прикрутить, кому что нравится).<br /><br />⭐️ А у вас есть аналоги? Хотите поделиться? Или может даже делаете сами?<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2070-0.jpg\" alt=\"media\"/>", "date_published": "2026-08-05T05:30:13+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2070-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2069", "url": "https://t.me/c/1181264642/2069", "title": "А помните, как появился клод и кодекс, и сразу стало миллион инновационных приложений, каждое запуск", "content_html": "А помните, как появился клод и кодекс, и сразу стало миллион инновационных приложений, каждое запускается за 0.25 секунд, 120 фпс у каждого, сам апстор очистился, и программисты все такие светлые вокруг и все друг другу улыбаются. <br /><br />Вот и я не помню.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-08-04T07:11:32+00:00"}, {"id": "https://t.me/c/1181264642/2068", "url": "https://t.me/c/1181264642/2068", "title": "On-demand resources будут задепрекейчены в iOS 27  📖 Ресурсы по запросу (on-demand) это контент, кот", "content_html": "<strong>On-demand resources будут задепрекейчены в iOS 27</strong><br /><br />📖 <a href=\"https://developer.apple.com/help/app-store-connect/reference/app-uploads/on-demand-resources-size-limits/\">Ресурсы по запросу</a> (on-demand) это контент, который размещался в App Store и находился отдельно от соответствующего бандла. Они позволяли уменьшить размер приложения, ускорить загрузку и расширить функциональность.<br /><br />Вместе с ними под deprecated попал и <a href=\"https://developer.apple.com/documentation/foundation/nsbundleresourcerequest\">NSBundleResourceRequest</a>.<br /><br />Теперь Apple рекомендует использовать только <a href=\"https://developer.apple.com/documentation/backgroundassets\">Background Assets</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-08-03T07:44:42+00:00"}, {"id": "https://t.me/c/1181264642/2067", "url": "https://t.me/c/1181264642/2067", "title": "Как в Apple переписывают проекты на Swift  Анализаторы шрифтов обрабатывают данные из ненадежных ист", "content_html": "<strong>Как в Apple переписывают проекты на Swift</strong><br /><br />Анализаторы шрифтов обрабатывают данные из ненадежных источников, в результате чего TrueType оказывается уязвимым местом, критически важным с точки зрения безопасности. <br /><br />Чтобы повысить отказоустойчивость формата на платформах Apple, инженеры приняли решение обновить проект с языка C на Swift.<br /><br />Перед командой стояла амбициозная задача: обеспечить полную безопасность памяти, сохранить 100% попиксельную совместимость рендеринга и не допустить падения производительности.<br /><br />Для проверки точности инженеры покрыли код тестами на 99,7% и прогнали 27 миллионов глифов из реальных PDF, сравнивая каждый битмап с эталоном.<br /><br />📖 <a href=\"http://swift.org/blog/migrating-truetype-hinting-to-swift/\">В этой статье </a>можно посмотреть, какие трюки они использовали для работы с памятью и каких результатов достигли.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2067-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-31T06:13:47+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2067-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2066", "url": "https://t.me/c/1181264642/2066", "title": "Библиотека лоадеров для работы с Foundation Models  Когда-то я делился примерами красоты с помощью м", "content_html": "<strong>Библиотека лоадеров для работы с Foundation Models</strong><br /><br />Когда-то я делился <a href=\"https://t.me/iosdev/548\">примерами красоты </a>с помощью математики. Но если подрубить TimelineView, Canvas и немного воображения, сейчас можно создать намного более весёлые и интересные кейсы.<br /><br />Например, скорее всего если вы отдаете юзерам инфу поэтапно (или генерите изображения), а ваши модельки крутятся долго, и как раз в этот момент совершенно точно что-то нужно показывать.<br /><br />Для этого можно создать библиотеку компонентов и юзать любую комбинацию, хоть разбивать поэтапно и показывать последовательность, хоть показывать какой-то один из них.<br /><br />Вот, например, кит, который используется на гифке, которую вы видите:<br /><br /><blockquote><code>enum LoaderKit {<br />    static let goldenAngle = Double.pi * (3 - (5.0).squareRoot())<br /><br />    static func fibonacciSphere(_ count: Int) -&gt; [LDVec3] {<br />        guard count &gt; 1 else { return [LDVec3(x: 0, y: 0, z: 0)] }<br />        var pts: [LDVec3] = []<br />        pts.reserveCapacity(count)<br />        for i in 0..&lt;count {<br />            let y = 1 - (Double(i) / Double(count - 1)) * 2   // 1 … -1<br />            let r = (1 - y * y).squareRoot()<br />            let phi = Double(i) * goldenAngle<br />            pts.append(LDVec3(x: cos(phi) * r, y: y, z: sin(phi) * r))<br />        }<br />        return pts<br />    }<br /><br />    static func rotateY(_ p: LDVec3, _ a: Double) -&gt; LDVec3 {<br />        let c = cos(a), s = sin(a)<br />        return LDVec3(x: p.x * c + p.z * s, y: p.y, z: -p.x * s + p.z * c)<br />    }<br /><br />    static func rotateX(_ p: LDVec3, _ a: Double) -&gt; LDVec3 {<br />        let c = cos(a), s = sin(a)<br />        return LDVec3(x: p.x, y: p.y * c - p.z * s, z: p.y * s + p.z * c)<br />    }<br /><br />    static func rotateZ(_ p: LDVec3, _ a: Double) -&gt; LDVec3 {<br />        let c = cos(a), s = sin(a)<br />        return LDVec3(x: p.x * c - p.y * s, y: p.x * s + p.y * c, z: p.z)<br />    }<br /><br />    static func dot(_ x: CGFloat, _ y: CGFloat, _ r: CGFloat) -&gt; Path {<br />        Path(ellipseIn: CGRect(x: x - r, y: y - r, width: r * 2, height: r * 2))<br />    }<br /><br />    static func hash(_ i: Int, _ salt: Double = 0) -&gt; Double {<br />        let v = sin(Double(i) * 12.9898 + salt * 78.233 + 0.5) * 43758.5453<br />        return v - v.rounded(.down)<br />    }<br /><br />    static func lerp(_ a: Double, _ b: Double, _ t: Double) -&gt; Double { a + (b - a) * t }<br />    static func smoothstep(_ t: Double) -&gt; Double { let x = min(max(t, 0), 1); return x * x * (3 - 2 * x) }<br />    static func easeOut(_ t: Double) -&gt; Double { 1 - pow(1 - min(max(t, 0), 1), 3) }<br />}</code></blockquote><br /><br />А целиком примеры уже доступны: <strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\">здесь</a><strong> </strong>или<strong> </strong><strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\">тут</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2066-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2066-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-07-29T08:16:20+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2066-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2065", "url": "https://t.me/c/1181264642/2065", "title": "Создание адаптивных немодальных панелей в SwiftUI  📖 В этой статье рассказано, как создать собственн", "content_html": "<strong>Создание адаптивных немодальных панелей в SwiftUI</strong><br /><br />📖 <a href=\"https://nilcoalescing.com/blog/BuildingAdaptiveNonModalPanelsInSwiftUI\">В этой статье</a> рассказано, как создать собственные стили для таких панелей, а также описаны решения, которые позволили обеспечить поддержку и потретного, и альбомного режимов. <br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2065-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-27T11:45:25+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2065-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2064", "url": "https://t.me/c/1181264642/2064", "title": "Пасхалки в крашлогах Apple с помощью hexspeak  Помните, когда-то на калькуляторах можно было писать ", "content_html": "<strong>Пасхалки в крашлогах Apple с помощью hexspeak</strong><br /><br />Помните, когда-то на калькуляторах можно было писать всякие прикольные слова с помощью цифр? <br /><br />Оказывается, есть специальный термин hexspeak, целая <a href=\"https://en.wikipedia.org/wiki/Hexspeak\">форма правописания</a> с использованием шестнадцатеричных цифр.<br /><br />Apple не остался в стороне и несколько кодов завершения также написаны в этом стиле:<br /><br /><blockquote><code>0xdead10cc</code> (dead lock) - приложение удерживает системный ресурс во время работы в фоновом режиме.<br /><br /><code>0x8badf00d</code> (ate bad food) - watchdog убивает за слишком долгую блокировку основного потока при запуске или возобновлении.<br /><br /><code>0xc00010ff</code> (cool off) - используется Apple в отчетах о крашах iOS, когда приложение было закрыто в ответ на термическое событие.<br /><br /><code>0xdeadfa11</code> (dead fall) - юзер принудительно закрыл зависшее приложение.<br /><br /><code>0xbad22222</code> (bad too repeatedly) - VoIP-приложуху крашнул iOS, поскольку оно возобновлялось слишком часто.<br /><br /><code>0xbaaaaaad</code> (baaaaad) - лог представляет собой снимок состояния всей системы, не отчет о краше.<br /><br /><code>0xdeadfeed</code> (dead feed) - краш из-за превышения таймаута при запуске службы.</blockquote><br /><br />Да и вообще, рекомендую посмотреть вики, там много любопытных отсылок, есть даже Ace of Base 🎵<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-07-25T07:40:24+00:00"}, {"id": "https://t.me/c/1181264642/2063", "url": "https://t.me/c/1181264642/2063", "title": "В Яндексе бьют людей?  Добрался до разбора доклада про внедрение AI, в котором руководитель мобильно", "content_html": "<strong>В Яндексе бьют людей?</strong><br /><br />Добрался до разбора доклада про внедрение AI, в котором руководитель мобильной разработки заявляет на весь зал, что <strong>у них бьют людей (не буквально, это важно)</strong> за то, что при использовании ИИ-агентов они отдают вопросы при комментах в пулл-реквестах для LLM.<br /><br />Ну, даже не знаю как это комментировать. <br /><br />В целом, все прогнозы сбываются. Вроде и продвигают ИИ в массы, а вроде и с оговорками.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-07-24T07:30:01+00:00"}, {"id": "https://t.me/c/1181264642/2062", "url": "https://t.me/c/1181264642/2062", "title": "Пересмотр модульной архитектуры iOS-приложения компании JET в 2026 году  Незначительная проблема с о", "content_html": "<strong>Пересмотр модульной архитектуры iOS-приложения компании JET в 2026 году</strong><br /><br />Незначительная проблема с одним из UI-компонентов выявила <a href=\"https://t.me/iosdev/477\">проблемы существующей прежде модели</a> и это стало триггером к пересмотру концепта целиком.<br /><br />В обновленном подходе каждый компонент классифицируется по своей роли, а не по тому, где он находится в графе зависимостей.<br /><br />Как следствие, в JET ввели пять категорий. Три из них относятся к собственным компонентам (App, Feature, Foundation); две - к сторонним зависимостям (SDK, Utility).<br /><br />📖 Про то, что у них получилось, и как работает всё вместе - <a href=\"https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/\">можно почитать в техническом блоге</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2062-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-24T06:28:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2062-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2061", "url": "https://t.me/c/1181264642/2061", "title": "Мир прототипов  Я пилю приложения уже больше 15 лет и за это время увидел рассвет и закат многих про", "content_html": "<strong>Мир прототипов</strong><br /><br />Я пилю приложения уже больше 15 лет и за это время увидел рассвет и закат многих проектов: от первых мессенджеров ВК до яндекс.музыки (последнее обновление никуда не годится) и крупных игровых тайтлов, да и вообще, если мы входим в эпоху, когда игры на плойке будут только в цифре - это уже не звоночек, это чёртов колокол.<br /><br />Последние пару-тройку лет постоянно слышу: я сделал аналог ноушена, я запустил агрегатор новостей за день, я выпустил собственный браузер.<br /><br />Ага, конечно.<br /><br />Оказывается, что там надо немного допилить (процентов 90), скачиваний у ребят миллионы (1-2 в неделю), а графики так и вовсе нарисованы какой-нибудь нейросеткой.<br /><br />Ну с графиками хотя бы будет повеселее: вы же в курсе, что крупные ии-игроки добавляют паттерны в свои изображения, по которым можно отличить ии-слоп? Если нет, теперь в курсе.<br /><br />Я к тому, что всё что изменилось - только количество: если раньше плохих приложений было 10, то теперь их будет 1 000 000, но качество не улучшилось ни на йоту.<br /><br />Лагающего, неповоротливого, одинакового стало ожидаемо намного больше.<br /><br />Много ума не надо - отдать диз чего угодно клоду/кодексу (нужное подчеркнуть) и на выходе получить прототип.<br /><br />А потом неделями, месяцами, годами допиливать до хотя бы какого-нибудь приемлемого уровня.<br /><br />Это разве прорыв?<br /><br />Даже телега в последнее время <a href=\"https://kod.ru/telegram-bug-peregrev-fake-push\">не радует</a>. Что уж говорить об остальных.<br /><br />Если кто-то смотрел ЧМ, то заметили что нейрослоп заполонил и рекламу. Так и представляю, как ушлые маркетологи говорят: ну мы сделаем почти похоже на настоящую, только <strong>дешевле</strong>, будет почти также. Нет, не почти - это беспросветный, вымученный, чудовищный, вырвиглазный со слабой аурой стиль, за реализацию которой наверняка кто-то получит премию.<br /><br />Когда с таким количеством ресурсов пользователям отдают это - становится по-настоящему страшно за индустрию. <br /><br />Страшно, что мы уже живём в мире прототипов.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-07-23T14:19:27+00:00"}, {"id": "https://t.me/c/1181264642/2060", "url": "https://t.me/c/1181264642/2060", "title": "🫨 ИИ-модели от OpenAI вышли из-под контроля и устроили хакерскую атаку  Недавно компании OpenAI и Hu", "content_html": "<strong>🫨 ИИ-модели от OpenAI вышли из-под контроля и устроили хакерскую атаку</strong><br /><br />Недавно компании OpenAI и Hugging Face (возможно, главный хаб для моделей, <a href=\"https://t.me/iosdev/1844\">его я юзал например, вот тут</a>) столкнулись с беспрецедентным инцидентом кибербезопасности, вызванным автономными действиями ИИ-агентов во время внутреннего тестирования.<br /><br />Стремясь любой ценой решить поставленную задачу, модели смогли вырваться из песочницы и получить доступ к hugging face.<br /><br />ИИ самостоятельно обнаружил и проэксплуатировал уязвимость нулевого дня во внутреннем прокси-сервере и <strong>использовал </strong><a href=\"https://openai.com/index/hugging-face-model-evaluation-security-incident/#:~:text=including%20using%20stolen%20credentials\"><strong>украденные учетки</strong></a>.<br /><br />Службы безопасности Hugging Face сумели оперативно обнаружить аномальную активность и пресечь её после инцидента. OpenAI выпустили <a href=\"https://openai.com/index/hugging-face-model-evaluation-security-incident/\">пресс-релиз со всеми подробностями</a>.<br /><br />Берегите свои креды с молоду, как говорится.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a>", "date_published": "2026-07-22T12:34:32+00:00"}, {"id": "https://t.me/c/1181264642/2059", "url": "https://t.me/c/1181264642/2059", "title": "Зарплаты IT-специалистов в первой половине 2026: Objective-C всё еще самый доходный  Уровень компенс", "content_html": "<strong>Зарплаты IT-специалистов в первой половине 2026: Objective-C всё еще самый доходный<br /></strong><br />Уровень компенсации для топовых разрабов, знающих Objective-C не только возглавляет таблицу, но ещё и лидер по темпу, +13%.<br /><br /><blockquote>💰 Доход разработчиков на Objective-C: <strong>400 000 рублей</strong>.</blockquote><br /><br />Ощутимо зарплаты выросли и <strong>в Swift (на 7% до 326 000 ₽)</strong>, котлин тоже прибавил на 5% до 320 000 ₽.<br /><br />К слову, Авито больше не номер один среди компаний, перехватил эстафетную палочку Райффайзен Банк (+9%, 400 000 - медиана).<br /><br />В целом, ситуация на рынке такая, что медианная зарплата на IT-рынке сейчас — 191 000.<br /><br />📖 Остальная аналитика <a href=\"https://habr.com/ru/specials/1060148/\">доступна на хабре</a>.<br /><br />Прошлые обзоры - <a href=\"https://t.me/iosdev/1866\">вот тут</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2059-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-22T07:34:37+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2059-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2058", "url": "https://t.me/c/1181264642/2058", "title": "Скинули график сна iOS-разработчика на фоне последних новостей  😃 iOS Dev", "content_html": "Скинули график сна iOS-разработчика на фоне <a href=\"https://t.me/iosdev/2056\">последних новостей</a><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2058-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-21T10:25:02+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2058-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2057", "url": "https://t.me/c/1181264642/2057", "title": "", "content_html": "", "date_published": "2026-07-20T12:08:32+00:00"}, {"id": "https://t.me/c/1181264642/2056", "url": "https://t.me/c/1181264642/2056", "title": "🫨 Проблемы с AppStore в РФ  По данным хабра магазин приложений AppStore начал нестабильно работать в", "content_html": "<strong>🫨 Проблемы с AppStore в РФ</strong><br /><br /><a href=\"https://habr.com/ru/news/1060836/\">По данным хабра</a> магазин приложений AppStore начал нестабильно работать в России. У части пользователей сервисы AppStore не работают вовсе (без специальных сетевых средств).<br /><br />Похоже, что проблемы с прошлой недели <a href=\"https://t.me/iosdev/2051\">продолжаются</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2056-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-20T09:51:09+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2056-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2055", "url": "https://t.me/c/1181264642/2055", "title": "Эффект липкого pull-to-refresh в SwiftUI  📺 На канале Kavsoft выложили полезный и несложный туториал", "content_html": "<strong>Эффект липкого pull-to-refresh в SwiftUI</strong><br /><br />📺 На канале Kavsoft <a href=\"https://www.youtube.com/watch?v=gTPi9UdKYbU\">выложили</a> полезный и несложный туториал для создания эффекта лоадера с морфингом из Dynamic Island.<br /><br />📖 А ещё одну демонстрацию похожего стиля можно посмотреть <a href=\"https://t.me/iosdev/1749\">в этом посте</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2055-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2055-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-07-17T11:35:01+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2055-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2054", "url": "https://t.me/c/1181264642/2054", "title": "⚡Приложения VK и МАХ исчезли из Google Play  Пресс-служба ВК сообщила, что пользователи Android-устр", "content_html": "⚡<strong>Приложения VK и МАХ исчезли из Google Play</strong><br /><br /><a href=\"https://vk.company/ru/press/releases/12360/\">Пресс-служба ВК</a> сообщила, что пользователи Android-устройств продолжат получать пуш-уведомления о сообщениях, событиях и звонках в МАХ и приложениях VK.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-07-16T10:51:55+00:00"}, {"id": "https://t.me/c/1181264642/2053", "url": "https://t.me/c/1181264642/2053", "title": "OpenAI выпустили первое физическое устройство Codex Micro  Стоит 230 долларов. Видео с примерами раб", "content_html": "<strong>OpenAI выпустили первое физическое устройство Codex Micro</strong><br /><br /><a href=\"https://openai.com/supply/co-lab/work-louder/\">Стоит</a> 230 долларов. Видео с примерами работы - <a href=\"https://x.com/OpenAIDevs/status/2077425991790870644\">тут</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2053-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-16T06:33:15+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2053-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2052", "url": "https://t.me/c/1181264642/2052", "title": "Морфинг текста на SwiftUI в 50 строк кода  Вы же помните, что я просто обожаю необычные эффекты)  Во", "content_html": "<strong>Морфинг текста на SwiftUI в 50 строк кода</strong><br /><br />Вы же помните, что я просто обожаю необычные эффекты)<br /><br />Вот как тут, например - <a href=\"https://t.me/iosdev/1886\">с принтером и анимацией отчётов</a> за пару десятков строк кода. Или в стиле <a href=\"https://t.me/iosdev/1766\">tap to cash</a> (до сих пор прилетают запросы где взять туториал).<br /><br />Так вот, делюсь одним необычным и несложным эффектом - вдохновиться можете где-нибудь <a href=\"https://codepen.io/Valgo/pen/PowZaNY\">здесь</a>.<br /><br />А по факту у нас два текста кроссфейдятся с анимированным блюром, а с помощью шейдера поверх мы режем альфу по заданному порогу. В общем из-за этого размытые буквы «слипаются» и перетекают друг в друга, как жидкость)<br /><br />Если разобраться, как такое сделать, можно удивиться, насколько все просто (это аналог feColorMatrix &quot;0 0 0 255 -140&quot; из примера выше):<br /><br /><blockquote><code>#include &lt;metal_stdlib&gt;<br />#include &lt;SwiftUI/SwiftUI_Metal.h&gt;<br />using namespace metal;<br /><br />[[stitchable]] half4 textMorphThreshold(float2 position,<br />                                        SwiftUI::Layer layer,<br />                                        float4 bounds,<br />                                        float threshold,<br />                                        float softness) {<br />    half4 c = layer.sample(position);<br />    float a = float(c.a);<br />    if (a &lt; 1e-4) {<br />        return half4(0.0);<br />    }<br /><br />    float na = smoothstep(threshold - softness, threshold + softness, a);<br /><br />    float3 rgb = float3(c.rgb) / a;<br />    return half4(half3(rgb * na), half(na));<br />}</code></blockquote><br /><br />Ну а если вам все-таки нужен исходный код, вы можете прям переписать его с гифки или не терять время и найти его:  <strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\">здесь</a><strong> </strong>или<strong> </strong><strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\">тут</a>.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2052-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2052-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-07-15T12:37:09+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2052-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2051", "url": "https://t.me/c/1181264642/2051", "title": "⚡ Сайты github, google и apple в РФ недоступны  По данным хабра, Git и вообще доступ к репам без доп", "content_html": "⚡ <strong>Сайты github, google и apple в РФ недоступны</strong><br /><br /><a href=\"https://habr.com/ru/news/1058896/\">По данным хабра</a>, Git и вообще доступ к репам без доп сетевых средств сейчас невозможен.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2051-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-14T08:32:39+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2051-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2050", "url": "https://t.me/c/1181264642/2050", "title": "Перетаскивание элементов в SwiftUI в iOS 27  Я уже делился примером с WWDC на счет появившихся опций", "content_html": "<strong>Перетаскивание элементов в SwiftUI в iOS 27</strong><br /><br />Я уже <a href=\"https://t.me/iosdev/2020\">делился</a> примером с WWDC на счет появившихся опций (официальная дока <a href=\"https://developer.apple.com/documentation/swiftui/reordering-items-in-lists-stacks-grids-and-custom-layouts\">здесь</a>).<br /><br />📖 <a href=\"https://www.sagarunagar.com/blog/swiftui-reorderable-lazy-layouts-ios-27/\">В этой статье</a> можно посмотреть более расширенную инструкцию и возможности работы нового API.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-07-13T15:53:33+00:00"}, {"id": "https://t.me/c/1181264642/2049", "url": "https://t.me/c/1181264642/2049", "title": "А сегодня же пятница, а у каждого из нас множество мемов  Предлагаю провести конкурс. С вас - смешно", "content_html": "<strong>А сегодня же пятница, а у каждого из нас множество мемов</strong><br /><br />Предлагаю провести конкурс. С вас - смешной (ну или под тремя слоями постиронии) мем про разработку, можно iOS, можно ИИ, да даже про жизнь. <br /><br />С меня NFT-подарок в телеге для победителя.<br /><br />Го в комменты)<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2049-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-10T10:59:25+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2049-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2048", "url": "https://t.me/c/1181264642/2048", "title": "Новый скилл для дизайна в стиле Apple на основе WWDC-сессий  Эмиль Ковальски отобрал 17 топовых прин", "content_html": "<strong>Новый скилл для дизайна в стиле Apple на основе WWDC-сессий</strong><br /><br />Эмиль Ковальски <a href=\"https://x.com/emilkowalski/status/2075188252877672732\">отобрал</a> 17 топовых принципов дизайна и анимаций, легко транслируемый и для веба, например.<br /><br />🛠 <a href=\"https://github.com/emilkowalski/skills\">У репозитория</a> уже более 7 000 звёзд.<br /><br />Если хотите огромную подборку скиллов, поставьте 👍.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2048-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-10T07:39:40+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2048-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2047", "url": "https://t.me/c/1181264642/2047", "title": "Изменение порядка для List и Grid с сохранением в SwiftData  Стюарт Линч выпустил урок по работе со ", "content_html": "<strong>Изменение порядка для List и Grid с сохранением в SwiftData</strong><br /><br />Стюарт Линч выпустил урок по работе со SwiftData. В нём он рассказывает, как реализовать перетаскивание в LazyVGrid с помощью onDrag, onDrop и специального DropDelegate.<br /><br />📺 <a href=\"https://www.youtube.com/watch?v=m5VdG-EKnmk\">А ещё в этом видео </a>можно узнать, как:<br /><br /><blockquote>• Перейти от локального состояния к <code>@Query</code> в SwiftData<br />• Сохранять изменения пользовательского порядка сортировки при перезапуске приложухи<br />• Добавлять элементы управления для редактирования (и добавления элементов)<br />• Обрабатывать удаление строк с сохранением порядка сортировки<br />• Создавать плавные анимации в сетке с помощью перетаскивания</blockquote><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2047-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-09T08:04:41+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2047-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2046", "url": "https://t.me/c/1181264642/2046", "title": "Собираем краши в iOS 27 c помощью CrashReportExtension  С помощью нового фреймворка можно анализиров", "content_html": "<strong>Собираем краши в iOS 27 c помощью CrashReportExtension</strong><br /><br />С помощью нового фреймворка можно анализировать и безопасно отправлять отчеты прямиком на свой бэкенд, не привязываясь к сторонним SDK.<br /><br />Для этого нужно создать отдельное расширение <code>CrashReporterExtension</code>. Кстати, его особенность в том, что оно <a href=\"https://developer.apple.com/documentation/crashreportextension/crashreporterextension#:~:text=Your%20extension%20runs%20in%20its%20own%20process\">запускается в отдельном изолированном процессе</a>, полностью независимо от нашей крашнутой приложухи.<br /><br />Когда приложение упадёт, система автоматически вызовет наше расширение и передаст ему метод processCrashReport.<br /><br />В коде это выглядит так:<br /><br /><blockquote><code>@main<br />struct MyCrashExtension: CrashReporterExtension {<br />    func processCrashReport(process: CrashedProcess) {<br />        // Получаем доступ к данным упавшего процесса<br />        let corpsePort = process.corpsePort<br />        let images = process.binaryImages<br />        <br />        // 1. Формируем свой краш-репорт<br />        // 2. Сохраняем на диск или шлем на сервер<br />    }<br />}</code></blockquote><br /><br />Через <code>CrashedProcess</code> можно получить <a href=\"https://developer.apple.com/documentation/crashreportextension/crashedprocess/corpseport\">corpsePort</a> и доступ к загруженным бинарникам, на основе чего уже можно сформировать дамп для отладки.<br /><br />Хотя подавляющее большинство юзает Firebase или Sentry, ещё одна альтернатива нам не помешает.<br /><br />➡️ <a href=\"https://t.me/iosdev/2014\">Список всех новых фреймворков iOS 27.</a><br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2046-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-08T14:17:46+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2046-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2045", "url": "https://t.me/c/1181264642/2045", "title": "", "content_html": "", "date_published": "2026-07-07T13:45:56+00:00"}, {"id": "https://t.me/c/1181264642/2044", "url": "https://t.me/c/1181264642/2044", "title": "Master of puppets  В детстве у моих одноклассников частенько можно было встретить рюкзаки с металлик", "content_html": "<strong>Master of puppets</strong><br /><br />В детстве у моих одноклассников частенько можно было встретить рюкзаки с металликой, а у части были с надписью ГрОб (но это другая история).<br /><br />Так вот, тогда металлика казалась чем-то с другой планеты, ну как супергерои, которых не существует или звезды, которых никогда не достичь.<br /><br />Но пару десятков лет спустя я рад, что появляются возможности оказаться где-то рядом.<br /><br />Вчера посетил первый из двух закрывающих концертов M72. И черт возьми, всем бы столько сил, как у Хэтфилда в его 60+.<br /><br />Интересно, что на одну из песен со всей этой движухой с ии можно взглянуть и по-другому.<br /><br />Можно ли назвать человека, который использует десятки агентов, master of puppets?<br /><br />Думаем.<br /><br />😃 <a href=\"https://t.me/iosdev\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2044-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2042-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2041-3.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2039-5.jpg\" alt=\"media\"/><br /><strong>The video is too large.</strong>", "date_published": "2026-07-04T12:34:42+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2044-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2042-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2041-3.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--2039-5.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2038", "url": "https://t.me/c/1181264642/2038", "title": "Акторы в Swift - примеры использования и подводные камни  Акторы обеспечивают выполнение кода в опре", "content_html": "<strong>Акторы в Swift - примеры использования и подводные камни</strong><br /><br />Акторы обеспечивают выполнение кода в определенном потоке.<br /><br />Введенные в Swift 5.5, акторы помогают нам писать потокобезопасный, и что не менее важно, предсказуемый код при работе с асинхронными задачами.<br /><br />Про ряд экспериментов с акторами и ловушки, которые могут предостерегать даже опытных разработчиков, можно почитать <a href=\"https://t.me/iosdev/1851\">в этом посте</a>.<br /><br />А в развёрнутой статье на бусти аккумулировал огромное количество тонкостей, в частности: что такое actor, как работает изоляция, почему await внутри актора может быть опаснее, чем кажется, да и вообще что изменилось в Swift 6.x и Swift 6.4.<br /><br /><strong>Весь код, все примеры и многое другое: </strong><strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>На бусти</strong></a><strong> и </strong><strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>в телеграме</strong></a><strong>.</strong><br /><br /><blockquote>🧠  Что вы получите ещё, подписавшись:<br />➡️<a href=\"https://t.me/iosdev/1682\">Карта изучения Swift Concurrency</a> (примеры, разбор каждого уровня, полезные советы)<br />➡️<a href=\"https://t.me/iosdev/1149\">Вопросы на чтение кода</a> (несколько уровней: простых, посложнее)<br />➡️<a href=\"https://t.me/iosdev/1185\">Многопоточность</a><br />➡️<a href=\"https://t.me/iosdev/1215\">DispatchQueue: практические вопросы</a><br />➡️<a href=\"https://t.me/iosdev/1227\">Swift Concurrency</a><br />➡️<a href=\"https://t.me/iosdev/1238\">Алгоритмы: терминология и примеры</a> + путь Яндекс Coderun (разбор нескольких десятков задач)<br />➡️<a href=\"https://t.me/iosdev/1293\">Память: ARC, side table, флаги, утечки</a><br />➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS<br />➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)<br />➡️<a href=\"https://t.me/iosdev/1711\">Утечки памяти в Swift: что с ними делать, как предотвратить?</a><br />➡️<a href=\"https://t.me/iosdev/1745\">Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов</a></blockquote><br /><br />В трибьюте и бусти действует шикарное вводное предложение.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2038-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-03T09:16:21+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2038-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2037", "url": "https://t.me/c/1181264642/2037", "title": "Memberwise Initializer в Swift 6.4 на примерах  В отличие от дефолтного, структура получает покомпон", "content_html": "<strong>Memberwise Initializer в Swift 6.4 на примерах</strong><br /><br /><a href=\"https://docs.swift.org/swift-book/documentation/the-swift-programming-language/initialization/#:~:text=Unlike%20a%20default%20initializer\">В отличие от дефолтного</a>, структура получает покомпонентный инициализатор, даже если она имеет свойства, не имеющие значений по умолчанию.<br /><br />Но До Swift 6.4 приватные хранимые свойства со значениями по умолчанию мягко говоря были неудобными, так как вот такая история была бы невалидна:<br /><br /><blockquote><code>struct Article {<br />    let title: String<br />    let url: URL<br />    private var readCount: Int = 0<br />}<br /><br />// You would expect this to work, but it does not before Swift 6.4:<br />let article = Article(<br />    title: &quot;Memberwise Initializers in Swift&quot;,<br />    url: URL(string: &quot;https://www.avanderlee.com&quot;)!<br />)</code></blockquote><br /><br />📖 <a href=\"https://www.avanderlee.com/swift/memberwise-initializers/\">В этой статье</a> разбирается, что изменилось в Swift 6.4 <a href=\"https://github.com/swiftlang/swift-evolution/blob/main/proposals/0502-exclude-private-from-memberwise-init.md\">благодаря SE-0502</a>.<br /><br />А множество других подводных камней разбиралось в статье <a href=\"https://t.me/iosdev/1520\">из вот этого поста</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-07-02T13:14:10+00:00"}, {"id": "https://t.me/c/1181264642/2036", "url": "https://t.me/c/1181264642/2036", "title": "😆 Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов  Автор Caveman з", "content_html": "😆 <strong>Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов</strong><br /><br />Автор Caveman заметил, что значительная часть бюджета расходуется на болтовню языковых моделей. <br /><br />Его инструмент удаляет слова-связки, приветствия и просто вводный текст, сохраняя при этом сам код. Кстати, в <a href=\"https://github.com/juliusbrussee/caveman\">репу</a> кейвмана <a href=\"https://habr.com/ru/news/1054188/#:~:text=%D1%87%D0%B8%D1%81%D0%BB%D0%B5%20%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D1%80%20OpenAI%20%D0%A8%D0%B5%D0%B9%D0%BD%20%D0%A1%D1%83%D0%B8%D0%BD%D0%B8%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%20%D0%B2%D0%BD%D1%91%D1%81%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B2%20%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9%20Caveman\">коммитил</a> и техдир Open AI.<br /><br />Мне кажется, что это безумно смешно. Пока все ждут возвращения Fable для всех, настоящий изумруд не за горами в виде какой-нибудь модели AI «Питекантроп».<br /><br />И тогда надо делать опрос, <a href=\"https://t.me/iosdev/1860\">не в какой компании быстрее деградирует</a> iOS-разработчик, а и использованием какого ИИ.<br /><br />Так и представляю общение через этот чат-бот в стиле бунга-вунга.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2036-0.jpg\" alt=\"media\"/>", "date_published": "2026-07-01T13:22:58+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2036-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2035", "url": "https://t.me/c/1181264642/2035", "title": "SwiftOS - экспериментальный проект по созданию настоящей операционной системы с помощью embedded Swi", "content_html": "<strong>SwiftOS - экспериментальный проект по созданию настоящей операционной системы с помощью embedded Swift</strong><br /><br />Её автор, <a href=\"https://www.linkedin.com/in/andrey-sapunov/\">Андрей Сапунов</a>, вместо того чтобы изучать концепции операционных систем только по книгам, решил, почему бы не создать собственную систему, чтобы разобраться, как взаимодействуют ядро, память и процессы.<br /><br />🛠 Необычная история как минимум, <a href=\"https://github.com/asaptf/swift-os\">код можно посмотреть на GitHub</a>, а доки <a href=\"https://swiftos.tech/docs/concepts\">вот тут</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2035-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2035-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-07-01T07:51:49+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2035-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2034", "url": "https://t.me/c/1181264642/2034", "title": "🙆 В iOS 27 появился Recovery Mode  Если при включении iPhone продолжить удерживать кнопку питания, п", "content_html": "<strong>🙆 В iOS 27 появился Recovery Mode<br /></strong><br />Если при включении iPhone продолжить удерживать кнопку питания, <a href=\"https://x.com/aaronp613/status/2064735542965657980\">появятся</a> опции восстановления:<br /><br />🔘 Recovery Assistant<br />🔘 Software Update<br />🔘 Diagnostics Mode<br />🔘 Erase All Content and Settings<br />🔘 Recovery Mode via Mac<br /><br />Один из сценариев, когда нам может пригодиться эта фича, если в процессе обновления в девайсе разрядится аккумулятор, например.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2034-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-30T07:43:53+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2034-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2033", "url": "https://t.me/c/1181264642/2033", "title": "Review Buddy - добавил полноценную мак-версию, ускорил краулер и кое-что ещё  Топ-фича с переключени", "content_html": "<strong>Review Buddy - добавил полноценную мак-версию, ускорил краулер и кое-что ещё</strong><br /><br />Топ-фича с переключением аппстора для того, чтобы узнать есть ли приложение где-то, кроме России, всё также доступна, даже если вы видите алерт - так нужно)<br /><br />Более того, она не теряет актуальности в связи с <a href=\"https://t.me/iosdev/2030\">удалением</a> приложений.<strong><br /><br /></strong>Наконец перешёл на платную версию клаудфлейра и вместо 14 часов теперь полноценный снэпшот чартов делается примерно за три с половиной часа (может это не так быстро, но вообще-то не так и плохо!).<br /><br />Ещё докрутил скраппер, чтобы полноценно срезать оценки по кастомным сторам (с разбивкой не только по среднему, но и по конкретному количеству оценок).<br /><br />Как и прежде, из коробки доступно вообще всё, кроме пушей для одного избранного приложения.<br /><br />В расширенной версии есть пуши с новыми отзывами и смещением позиций (и бонусом ещё сравнение с компетиторами).<br /><br />🏠 <a href=\"https://apps.apple.com/app/id6670719648\">Скачать можно в App Store</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-29T06:18:50+00:00"}, {"id": "https://t.me/c/1181264642/2032", "url": "https://t.me/c/1181264642/2032", "title": "Зона интересов  Печально, когда мобильные разработчики с ненулевой аудиторией оправдывают блокировки", "content_html": "<strong>Зона интересов</strong><br /><br />Печально, когда мобильные разработчики с ненулевой аудиторией оправдывают блокировки приложений. Когда верят что отсутствие конкуренции - это логичный шаг к цифровому суверенитету.<br /> <br />Когда призывают к тому, что отключение оплаты в App Store - это путь к светлому и синтезированному, стерильному и такому радостному интернету.<br /><br />Когда костыли из сервисов для открытия заблокированных приложений считаются нормой. <br /><br />Когда мы должны объяснять старшему поколению что такое прокси, и почему внезапно они до нас не могут дозвониться.<br /><br />2026 год за окном, интернет это буквально базовая необходимость.<br /><br />Но я понимаю, какая зона интересов у таких псевдоблогеров. Да и все мы понимаем.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-06-26T07:24:40+00:00"}, {"id": "https://t.me/c/1181264642/2031", "url": "https://t.me/c/1181264642/2031", "title": "", "content_html": "", "date_published": "2026-06-25T11:45:15+00:00"}, {"id": "https://t.me/c/1181264642/2030", "url": "https://t.me/c/1181264642/2030", "title": "⚡️ Приложения VK удалили из российского AppStore  Пока что пропали Музыка, Мессенджер, Видео и Дзен.", "content_html": "⚡️ <strong>Приложения VK</strong> <strong>удалили</strong> <strong>из российского AppStore</strong><br /><br />Пока что <a href=\"https://www.rbc.ru/technology_and_media/25/06/2026/6a3ce0119a79478790b8e09d\">пропали</a> Музыка, Мессенджер, Видео и Дзен.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-06-25T08:13:40+00:00"}, {"id": "https://t.me/c/1181264642/2028", "url": "https://t.me/c/1181264642/2028", "title": "Три обязательных требования в iOS 27, о которых нужно не забыть к осени  1️⃣ Приложения будут обязан", "content_html": "<strong>Три обязательных требования в iOS 27, о которых нужно не забыть к осени</strong><br /><br />1️⃣ Приложения <strong>будут обязаны</strong> внедрить жизненный цикл на основе сцен. Как мигрировать - <a href=\"https://t.me/iosdev/1696\">писал здесь</a>.<br /><br />2️⃣ Флаг игнора диза жидкого стекла <a href=\"https://t.me/iosdev/1727\">больше не сработает</a>. Многое может сломаться, поэтому если не начинали адоптить, давно пора.<br /><br />3️⃣ <a href=\"https://developer.apple.com/documentation/Technotes/tn3208-preparing-your-apps-launch-screen-to-meet-app-store-requirements\">Новое обязательное требование для лончскрина</a> (чтобы не словить реджект ITMS-90870). Начиная с версий iOS 27 и iPadOS 27 в файле Info.plist вашего приложения должен быть указан конфиг лончскрина. Если в вашем приложении уже есть экран запуска, вам не нужно вносить никаких изменений. <br /><br />📜 Сохраните себе, чтобы не забыть.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-06-24T07:17:07+00:00"}, {"id": "https://t.me/c/1181264642/2027", "url": "https://t.me/c/1181264642/2027", "title": "Как экспортировать все скиллы из Xcode 27  Хотя в Apple добавили поддержку многих сторонних интеграц", "content_html": "<strong>Как экспортировать все скиллы из Xcode 27</strong><br /><br />Хотя в Apple добавили поддержку многих сторонних интеграций, они все прекрасно понимают, в частности то, чем сейчас пользуются многие разработчики.<br /><br />Поэтому для тех, кто использует альтернативные решения, появилась новая опция:<br /><br /><blockquote><code>xcrun agent skills export</code></blockquote><br /><br />На сегодняшний день можно перенести следующее:<br /><br /><blockquote>  ✓ swiftui-whats-new-27<br />  ✓ test-modernizer<br />  ✓ device-interaction<br />  ✓ swiftui-specialist<br />  ✓ c-bounds-safety<br />  ✓ audit-xcode-security-settings<br />  ✓ uikit-app-modernization</blockquote><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2027-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-22T08:48:52+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2027-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2026", "url": "https://t.me/c/1181264642/2026", "title": "Apple начали реджектить приложения за запросы отзывов на онбординге  Хотя это не новый гайдлайн, ран", "content_html": "<strong>Apple начали реджектить приложения за запросы отзывов на онбординге</strong><br /><br />Хотя это не новый гайдлайн, раньше эплы так не жестили. <br /><br />Некоторые приложения собирали тысячи пятизвёздочных оценок ещё до первого действия юзера, но сейчас все больше сообщений о том, что за такое прилетают реджекты.<br /><br />📖 Статья на RevenueCat <a href=\"https://www.revenuecat.com/blog/engineering/dont-prompt-ratings-during-onboarding/\">это подтверждает.</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2026-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-19T08:34:09+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2026-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2025", "url": "https://t.me/c/1181264642/2025", "title": "Что нового в SwiftData в iOS 27  В iOS 27 Apple устранила многие старые проблемы с помощью добавлени", "content_html": "<strong>Что нового в SwiftData в iOS 27</strong><br /><br />В iOS 27 Apple устранила многие старые проблемы с помощью добавления поддержки enum-предикатов (и составных предикатов тоже), нового атрибута .codable и ResultsObserver. <br /><br />Каждая из этих функций по отдельности решает конкретную задачу. В совокупности они делают SwiftData более функциональным и удобным для использования в реальных приложениях.<br /><br />📖 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html\">В этом блоге</a> разобрали новинки на примерах:<br /><br />🔘 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html#predicate-with-enums\">Предикаты с перечислениями</a><br />🔘 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html#grouping-data-into-sections\">Группировка данных по секциям</a><br />🔘 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html#compound-queries\">Составные запросы</a><br />🔘 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html#the-codable-attribute\">Атрибут .codable</a><br />🔘 <a href=\"https://azamsharp.com/2026/06/12/whats-new-in-swiftdata.html#resultsobserver---observing-data-outside-views\">ResultsObserver</a> для обсервинга данных за пределами вьюх<br /><br />А более общий обзор по всем новинкам с WWDC есть <a href=\"https://t.me/iosdev/2021\">вот тут</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2025-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-18T12:45:30+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2025-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2024", "url": "https://t.me/c/1181264642/2024", "title": "Here we go!  Прямо сейчас идёт ЧМ по футболу, и я задумался, а что если бы переходы разработчиков из", "content_html": "<strong>Here we go!<br /><br /></strong>Прямо сейчас идёт ЧМ по футболу, и я задумался, а что если бы переходы разработчиков из одной компании в другую были бы в стиле футбольных трансферов?<br /><br />Представьте, что можно абсолютно открыто смотреть трансферную стоимость разработчика (не путайте только с зарплатой) на каком-нибудь iosmarkt и типа два раза в год абсолютно в открытую следить за какой-нибудь эпопеей по переходу рокстара из одного бигтеха в другой.<br /><br />А у разработчиков были бы свои агенты, которые защищали бы их интересны на эйчарных переговорах, и среди них тоже были бы свои звёзды.<br /><br />А ещё в контракте прописывали бы премии за ачивки в стиле: если команда делает 10 топовых релизов, то +2 годовых оклада в конце года каждому в тиме. <br /><br />Да просто задумайтесь)<br /><br /><blockquote>«Сеньор бэкендер Алексей Иванов в Telegram — HERE WE GO! Согласован контракт на 4 года. Сумма компенсации за досрочный разрыв с VK составила $5 млн. Осталось только пройти алгоритмический медосмотр!»</blockquote><br /><br />Скауты были бы на хакатонах или на олимпиадах по программированию. Ещё бы и свой Золотой мяч вручали в конце года лучщим (золотой magic mouse, например).<br /><br />А ещё можно было бы на примере какого-нибудь бигтеха запилить целые чемпы:<br /><br /><blockquote>ФК «Яндекс Поиск»: Бешеный темп, игра на высоких скоростях, огромные нагрузки (высокий нагрузочный продакшн). Если игрок «поплыл» и перестал вывозить тайм-критикал задачи, его не продают, а отправляют во внутреннюю аренду вроде Яндекс.Еды.</blockquote><br /><br />Ставьте 🔥, если норм идея.", "date_published": "2026-06-17T08:20:33+00:00"}, {"id": "https://t.me/c/1181264642/2023", "url": "https://t.me/c/1181264642/2023", "title": "🥳 В 27 Xcode появилась опция для симуляции лимита при использовании моделей  Особенно актуально при ", "content_html": "🥳 <strong>В 27 Xcode появилась опция для симуляции лимита при использовании моделей</strong><br /><br />Особенно актуально при использовании Private Cloud Compute в будущем.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2023-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-16T07:59:19+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2023-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2022", "url": "https://t.me/c/1181264642/2022", "title": "", "content_html": "", "date_published": "2026-06-15T09:39:26+00:00"}, {"id": "https://t.me/c/1181264642/2021", "url": "https://t.me/c/1181264642/2021", "title": "Все новинки WWDC26 - обзорная статья уже доступна  Постарался объединить все самое важное за прошедш", "content_html": "<strong>Все новинки WWDC26 - обзорная статья уже доступна</strong><br /><br />Постарался объединить все самое важное за прошедшие дни конфы в удобно формате.<br /><br />1️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5%20%D0%B8%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B5%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5%20%D1%84%D0%B8%D1%87%D0%B8\">Лучшие и самые интересные фичи</a><br /><br />2️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=%D0%A7%D1%82%D0%BE%20%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D0%BB%D0%B8%20%D0%BD%D0%B0%20%D1%81%D1%86%D0%B5%D0%BD%D0%B5\">Обзор Keynote</a><br /><br />3️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=%D0%AF%D0%97%D0%AB%D0%9A%20%C2%B7%20SESSION%20262-,Swift%206.4%20(%D0%B8%206.3)%3A%20%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%20%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%2C%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5%20%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8F,-%D0%A1%D0%BA%D0%B2%D0%BE%D0%B7%D0%BD%D0%B0%D1%8F%20%D1%82%D0%B5%D0%BC%D0%B0%20%D1%80%D0%B5%D0%BB%D0%B8%D0%B7%D0%B0\">Что нового в Swift 6.4</a> (а ещё про интероп с c).<br /><br />4️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=UI%20%C2%B7%20SESSION%20269-,SwiftUI%3A%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D1%8B%2C%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B%20%D0%B8%20%D1%82%D1%83%D0%BB%D0%B1%D0%B0%D1%80%D1%8B,-%D0%9B%D1%8D%D0%B9%D0%B0%D1%83%D1%82%20%D1%80%D0%B5%D1%81%D0%B0%D0%B9%D0%B7%D0%B8%D1%82%D1%81%D1%8F%20%D0%B4%D0%BE\">SwiftUI: контейнеры, документы и тулбары</a><br /><br />5️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=Foundation%20Models%20%26%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9%20Core%20AI\">Foundation Models &amp; новый Core AI</a><br /><br />6️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=Xcode%2027%20%D0%B8%20Agent%20Skills\">Xcode 27 и Agent Skills</a><br /><br />7️⃣ <a href=\"https://iosiq.ru/wwdc26.html#:~:text=%D0%A1%D0%B5%D1%81%D1%81%D0%B8%D0%B8%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5%20%D1%82%D0%BE%D1%87%D0%BD%D0%BE%20%D1%81%D1%82%D0%BE%D0%B8%D1%82%20%D0%BF%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B5%D1%82%D1%8C\">Сессии, рекомендуемые к просмотру</a><br /><br />✅ Бонусный контент с десятками примеров кода доступен <a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>тут</strong></a><strong> </strong>и <a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>тут</strong></a><strong>.</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2021-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-13T09:58:38+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2021-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2020", "url": "https://t.me/c/1181264642/2020", "title": "🥳 Новое API для Drag and Drop в SwiftUI  Теперь можно накинуть reorderable() для того, чтобы перетас", "content_html": "🥳 <strong>Новое API для Drag and Drop в SwiftUI</strong><br /><br />Теперь можно накинуть <code>reorderable()</code> для того, чтобы перетаскивать вьюшки внутри контейнера. А ещё добавили возможность переносить их и между другими разделами <strong>одного или нескольких приложений</strong> с помощью новых модификаторов.<br /><br />📖 Детальное описание с примерами <a href=\"https://developer.apple.com/documentation/swiftui/reordering-items-in-lists-stacks-grids-and-custom-layouts\">в официальной доке</a>.<br /><br />🛠 <a href=\"https://developer.apple.com/documentation/swiftui/making-a-card-game-with-drag-drop-and-reordering-in-swiftui\">А вот тут</a> есть пример, как сделать собственное полноценное приложение - карточную игру.<br /><br />Поддержка с 27 оси 😢.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-12T09:28:15+00:00"}, {"id": "https://t.me/c/1181264642/2019", "url": "https://t.me/c/1181264642/2019", "title": "⚡️Топ-фича нового Xcode, очистка Derived Data за 2 клика  😃 iOS Dev", "content_html": "⚡️<strong>Топ-фича нового Xcode, очистка Derived Data за 2 клика</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-11T06:27:45+00:00"}, {"id": "https://t.me/c/1181264642/2018", "url": "https://t.me/c/1181264642/2018", "title": "Самый быстрый deprecated на Диком Западе Купертино  😃 iOS Dev", "content_html": "<strong>Самый быстрый </strong><a href=\"https://developer.apple.com/documentation/appintents/appentityidentifier\"><strong>deprecated</strong></a><strong> на Диком <del>Западе</del> Купертино</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2018-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2018-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-06-10T15:15:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2018-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2017", "url": "https://t.me/c/1181264642/2017", "title": "Про внимание Apple к деталям  В видео с презентации Apple везде, где упоминали Siri, из аудио выреза", "content_html": "<strong>Про внимание Apple к деталям</strong><br /><br />В видео с презентации Apple везде, где упоминали Siri, из аудио <a href=\"https://x.com/bryanwangxin/status/2064309590414836085\">вырезали</a> частоты 3k, 4k, 5k, 6kHz, чтобы во время просмотра видео ближайшие устройства Apple случайно не активировали Siri.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2017-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-10T07:03:23+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2017-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2016", "url": "https://t.me/c/1181264642/2016", "title": "Как починить проблему с запуском симулятора в DeviceHub для Xcode 27  Всего одна классическая команд", "content_html": "<strong>Как починить проблему с запуском симулятора в DeviceHub для Xcode 27</strong><br /><br />Всего одна классическая команда в терминале <a href=\"https://x.com/twannl/status/2064093777489281410\">может помочь</a>:<br /><br /><blockquote><code>killall -9 CoreDeviceService</code></blockquote><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2016-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-10T06:35:33+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2016-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2015", "url": "https://t.me/c/1181264642/2015", "title": "⚡️ Мы теперь можем делать кастомный TabBar как в Apple Music без головной боли  Добавили возможность", "content_html": "<strong>⚡️ Мы теперь можем делать кастомный TabBar как в Apple Music без головной боли</strong><br /><br />Добавили возможность задавать новую роль для вкладок <code>.prominent</code> (почитать можно <a href=\"https://developer.apple.com/documentation/swiftui/tabrole/prominent\">тут</a>).<br /><br />Максимум можно делать <strong>только одну</strong> такую роль.<br /><br />Если нет вкладок с явно указанной ролью .prominent, то по умолчанию визуальное выделение может применяться к вкладке с ролью .search.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-09T13:33:47+00:00"}, {"id": "https://t.me/c/1181264642/2014", "url": "https://t.me/c/1181264642/2014", "title": "📔 Список всех новых фреймворков в iOS 27  ➡️ App Intents Testing (связан с интеграцией Сири, шорткат", "content_html": "📔 <strong>Список всех новых фреймворков в iOS 27</strong><br /><br />➡️ <a href=\"https://developer.apple.com/documentation/AppIntentsTesting\">App Intents Testing</a> (связан с интеграцией Сири, шорткатов и спотлайтом).<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/AVSystemRouting\">AVSystemRouting</a> - для отправки медиа с девайса на ТВ или колонку, например.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/ComputeGraph\">ComputeGraph</a> - для кастомных эффектов частиц и вычисления симуляций для RealityKit.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/CoreAI\">Core AI </a>- писал про него <a href=\"https://t.me/iosdev/1876\">в марте</a>. Для построения и запуска ИИ-моделей в наших приложениях.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/CrashReportExtension\">CrashReportExtension</a> - название говорящее.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/MediaDevice\">Media Device</a> - позволит транслировать медиафайлы из любого приложения для iOS на выбранное устройство воспроизведения (нужен специальный экстеншен).<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/MediaIntelligence\">Media Intelligence</a> - для анализа видеоконтента, позволяет группировать лица на изображениях с помощью машинного обучения.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/NowPlaying\">Now Playing</a> - можно пошарить элементы для управления медиа из нашего приложения на локскрин, control centre и на подключенные аксессуары.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/StateReporting\">StateReporting</a> - можно сообщить системе о состоянии вашего приложения, чтобы повысить эффективность отладки.<br /><br />➡️ <a href=\"https://developer.apple.com/documentation/SuggestedActions\">Suggested Actions</a> - можно задать быстрые действия рядом с сообщениями в вашем мессенджере на основе указанного вами контекста.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2014-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-09T12:21:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2014-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2013", "url": "https://t.me/c/1181264642/2013", "title": "🔥 Как вам анимация таймера в Dynamic Island в iOS 27?  😃 iOS Dev", "content_html": "🔥 <strong>Как вам анимация таймера в Dynamic Island в iOS 27?<br /><br /></strong><strong>😃</strong><strong> </strong><a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2013-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2013-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-06-09T10:36:22+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2013-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2012", "url": "https://t.me/c/1181264642/2012", "title": "Нас ждёт складной iPhone? Просто посмотрите на новый ресайз-мод в девайсхабе  Ждём?  😃 iOS Dev", "content_html": "<strong>Нас ждёт складной iPhone? Просто посмотрите на новый ресайз-мод в девайсхабе</strong><br /><br />Ждём?<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2012-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2012-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-06-09T07:28:42+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2012-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2010", "url": "https://t.me/c/1181264642/2010", "title": "🕺  AsyncImage теперь поддерживает HTTP-кэширование, еееее!  А ещё в 27 оси можно запилить собственны", "content_html": "🕺  <strong>AsyncImage теперь поддерживает HTTP-кэширование, еееее!</strong><br /><br />А ещё в 27 оси можно запилить собственный реквест при загрузке (и политику кэширования, да даже собственный URLCache).<br /><br />📺 <a href=\"https://youtu.be/s8BB8q2MyXc?list=PLjODKV8YBFHYfjjIHqYNdKjSO7INGYDWm&amp;t=1311\">Никакой повторной загрузки</a> при скролле для AsyncImage (если вы не укажете обратное).<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2010-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-09T06:54:49+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2010-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2009", "url": "https://t.me/c/1181264642/2009", "title": "⚡️ State больше не динамическое свойство, а macro  А ещё они бэкпортнули это поведение аж до 17 оси.", "content_html": "<strong>⚡️ State больше не динамическое свойство, а macro</strong><br /><br />А ещё они бэкпортнули это поведение аж до 17 оси.<br /><br /><blockquote><code>@Observable class StickerStore { }<br /><br />struct StickerStoreView: View {<br />    // store is now lazily initialized, only<br />    // created once for the lifetime of the view<br />    @State private var store = StickerStore()<br /><br />    var body: some View {<br />        // ...<br />    }<br />}</code></blockquote><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-09T06:46:03+00:00"}, {"id": "https://t.me/c/1181264642/2008", "url": "https://t.me/c/1181264642/2008", "title": "Кастомный баннер-хэдер в сторе будет доступен всем, а не только привилегированным разработчикам  Мож", "content_html": "<strong>Кастомный баннер-хэдер в сторе будет доступен всем, а не только привилегированным разработчикам</strong><br /><br />Можно юзать не только баннер-фотку, но и формат видео.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2008-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2008-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-06-09T06:01:26+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2008-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2007", "url": "https://t.me/c/1181264642/2007", "title": "В Xcode 27 можно настроить тулбар под себя за одну минуту  А ещё там добавили настройку смены тем, н", "content_html": "<strong>В Xcode 27 можно настроить тулбар под себя за одну минуту</strong><br /><br />А ещё там добавили настройку смены тем, не только редактирование кода, а вообще <strong>для всей IDE</strong>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2007-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T21:33:16+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2007-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2006", "url": "https://t.me/c/1181264642/2006", "title": "В Swift 6.4 продолжается работа по улучшению тайпчекера  The compiler is unable to type-check this e", "content_html": "<strong>В Swift 6.4 продолжается работа по улучшению тайпчекера</strong><br /><br /><code>The compiler is unable to type-check this expression in reasonable time</code> во многих ситуациях теперь будет нормально показывать ошибку.<br /><br />Пока <a href=\"https://forums.swift.org/t/recent-improvements-to-the-type-checker/87048\">Слава Пестов в огромном разборе</a> с примерами на Swift Forums делится прогрессом по роадмапу, в <a href=\"https://t.me/iosdev/2005\">видео</a> показали, как это будет выглядеть на практике.<br /><br />Не верится, что будет всегда так, но во многих коммонкейсах эта история точно должна стать лучше.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--2006-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--2006-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-06-08T21:25:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2006-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/2005", "url": "https://t.me/c/1181264642/2005", "title": "WWDC26: Platforms State of the Union - это было куда веселее!  📺 Показали кучу улучшений Xcode, Swif", "content_html": "<strong>WWDC26: Platforms State of the Union - это было куда веселее!</strong><br /><br />📺 <a href=\"https://www.youtube.com/watch?v=yl2jsIoMfDU\">Показали</a> кучу улучшений Xcode, SwiftUI, поддержки агентов в нашей любимой IDE, а также рассказали про улучшения Swift и обо многом другом.<br /><br />Самые интересные фичи будем разбирать следующую неделю. <br /><br />А на гифке <a href=\"https://developer.apple.com/documentation/SwiftUI/View/swipeActions(edge:allowsFullSwipe:content:onPresentationChanged:)\">пример одной из топовых фич SwiftUI</a>, которая позволит выпилить кастомные свайпы для удаления.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-08T21:16:26+00:00"}, {"id": "https://t.me/c/1181264642/2003", "url": "https://t.me/c/1181264642/2003", "title": "", "content_html": "", "date_published": "2026-06-08T18:20:56+00:00"}, {"id": "https://t.me/c/1181264642/2002", "url": "https://t.me/c/1181264642/2002", "title": "Новый Device Hub для превью ваших симуляторов и девайсов в реальном времени  Обязательно затестим!  ", "content_html": "<strong>Новый Device Hub для превью ваших симуляторов и девайсов в реальном времени</strong><br /><br />Обязательно затестим!<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2002-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T18:18:36+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2002-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/2001", "url": "https://t.me/c/1181264642/2001", "title": "И ещё одна категория по подбору одежды по фоткам в опасности  😃 iOS Dev", "content_html": "<strong>И ещё одна категория по подбору одежды по фоткам в опасности</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--2001-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T18:15:54+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--2001-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1999", "url": "https://t.me/c/1181264642/1999", "title": "Автоизменение всех ваших скомпрометированных паролей СРАЗУ  По-настоящему Amazing, получается.  😃 iO", "content_html": "<strong>Автоизменение всех ваших скомпрометированных паролей СРАЗУ</strong><br /><br />По-настоящему Amazing, получается.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1999-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:57:18+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1999-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1998", "url": "https://t.me/c/1181264642/1998", "title": "Минус вся категория приложений для определения калорий по фотке?  😃 iOS Dev", "content_html": "Минус вся категория приложений для определения калорий по фотке?<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1998-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:51:09+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1998-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1997", "url": "https://t.me/c/1181264642/1997", "title": "Новая Siri  Как вы думаете, как назвали?   Siri AI  😃 iOS Dev", "content_html": "<strong>Новая Siri</strong><br /><br />Как вы думаете, как назвали? <br /><br /><blockquote><strong>Siri AI</strong></blockquote><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1997-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:35:11+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1997-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1996", "url": "https://t.me/c/1181264642/1996", "title": "😃 iOS Dev", "content_html": "😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1996-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:29:24+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1996-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1995", "url": "https://t.me/c/1181264642/1995", "title": "Кастомный эквалайзер для AirPods!  А вот это уже круто, очень много кто просил буквально годами.  😃 ", "content_html": "<strong>Кастомный эквалайзер для AirPods!</strong><br /><br />А вот это уже круто, очень много кто просил буквально годами.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1995-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:17:13+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1995-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1994", "url": "https://t.me/c/1181264642/1994", "title": "Обещают запуск приложений на 30% быстрее  Скоро проверим!  😃 iOS Dev", "content_html": "<strong>Обещают запуск приложений на 30% быстрее</strong><br /><br />Скоро проверим!<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1994-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:12:03+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1994-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1993", "url": "https://t.me/c/1181264642/1993", "title": "Больше ликвид гласс в ваших иконках (если кому-то не хватило в прошлом году)  Теперь можно делать це", "content_html": "Больше ликвид гласс в ваших иконках (если кому-то не хватило в прошлом году)<br /><br />Теперь можно делать целые слои на иконках<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1993-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:10:55+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1993-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1992", "url": "https://t.me/c/1181264642/1992", "title": "А вот и новое лого для iOS 27  😃 iOS Dev", "content_html": "<strong>А вот и новое лого для iOS 27</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1992-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-08T17:05:04+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1992-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1991", "url": "https://t.me/c/1181264642/1991", "title": "Ну, поехали!  И сразу же первый бэнгер от Тима Кука:  Разработчики шлют 1000 билдов на проверку в ча", "content_html": "Ну, поехали!<br /><br />И сразу же первый бэнгер от Тима Кука:<br /><br /><strong>Разработчики шлют 1000 билдов на проверку в час!</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-06-08T17:02:35+00:00"}, {"id": "https://t.me/c/1181264642/1990", "url": "https://t.me/c/1181264642/1990", "title": "", "content_html": "", "date_published": "2026-06-08T07:43:34+00:00"}, {"id": "https://t.me/c/1181264642/1989", "url": "https://t.me/c/1181264642/1989", "title": "Что скрывает UIPageViewController  Seb Vidal и  ertem выяснили несколько неочевидных фактов о UIPage", "content_html": "<strong>Что скрывает UIPageViewController</strong><br /><br /><a href=\"https://x.com/SebJVidal/status/2062635133069308264\">Seb Vidal</a> и  <a href=\"https://x.com/ertembiyik\">ertem</a> выяснили несколько неочевидных фактов о UIPageViewController.<br /><br />Вообще он устроен чертовски интересно: внутри крутится кастомный UIScrollView (класс <code>_UIQueuingScrollView</code>), который создает лишь иллюзию бесконечной ленты.<br /><br />И скорее всего вы знали, что на самом деле в иерархии всегда находятся всего три вьюхи (текущая, предыдущая и следующая), а вот магия непрерывного скролла достигается за счет постоянного и бесшовного сброса contentOffset и фреймов подструктур.<br /><br />Так вот, оказывается, что через приватный метод <code>_visibleView</code> реально вытащить активный экран. И если объединить этот трюк с KVO-трекингом (о чём и написал <a href=\"https://x.com/ertembiyik/status/2062518046988644507\">ertembiyik</a>) и учесть размеры фрейма и interpageSpacing, можно получить буквально «виртуальный contentOffset».<br /><br />После этого мы можем вертеть анимациями как угодно, как пишет Себ, можно например, воссоздать легендарный интерактивный скраббер из Apple Photos прямо у себя в приложении! <br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-05T07:10:46+00:00"}, {"id": "https://t.me/c/1181264642/1988", "url": "https://t.me/c/1181264642/1988", "title": "Безопасность iOS-приложений: возможные пути атак, способы защиты и влияние ИИ  📺 В этом выпуске Swif", "content_html": "<strong>Безопасность iOS-приложений: возможные пути атак, способы защиты и влияние ИИ</strong><br /><br />📺 <a href=\"https://www.youtube.com/watch?v=Jtk4O1rDKTI\">В этом выпуске</a> Swift Academy Дэйв Пуарье и Дея Эльхавалде подробно обсудили меняющуюся реальность безопасности iOS в эпоху искусственного интеллекта.<br /><br />Речь идёт о культуре разработки, архитектуре, менталитете злоумышленников и будущем защиты приложений.<br /><br />О том, какие виды атак появляются и об ошибках, которые многие разработчики по-прежнему делают об экосистеме Apple.<br /><br />Также в видео утверждается, что то, что «Apple сама заботится о нашей безопасности» является одним из самых распространенных заблуждений в разработке под iOS.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1988-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-04T09:34:39+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1988-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1987", "url": "https://t.me/c/1181264642/1987", "title": "⚡️ Мессенджер «Макс» удалили из App Store  Команда МАХ направила запрос о предоставлении разъяснений", "content_html": "<strong>⚡️ Мессенджер «Макс» удалили из App Store</strong><br /><br /><a href=\"https://vk.company/ru/press/releases/12325/\">Команда МАХ</a> направила запрос о предоставлении разъяснений в Apple и работает над оперативным решением проблемы.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1987-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-03T19:03:18+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1987-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1986", "url": "https://t.me/c/1181264642/1986", "title": "Yandex Mobile Ads SDK 8. Легче. Быстрее. Доходнее.   Яндекс представил новую версию Yandex Mobile Ad", "content_html": "<strong>Yandex Mobile Ads SDK 8. Легче. Быстрее. Доходнее. </strong><br /><br />Яндекс представил новую версию Yandex Mobile Ads SDK 8 — с переработанным ядром и обновлённой архитектурой. Обновление снизило объём ручной настройки и упростило работу с монетизацией.<br /><br /><strong>✔️ SDK стал легче на 30%. Чем компактнее SDK, тем быстрее скачивается и меньше весит ваше приложение. А значит — конверсия в установку выше.</strong><br /><br /><strong>🛠 Что ещё изменили:</strong><br />— поддержка современных стандартов асинхронной разработки;<br />— обновлённые рекламные форматы и более гибкие API;<br />— инструменты для быстрой миграции с SDK 7 на SDK 8 с помощью скилла для ИИ-агентов;<br />— новые решения для Unity-разработки: автоматическая проверка интеграции и управление зависимостями.<br /><br />Рекламная сеть Яндекса объединяет рекламодателей и издателей приложений более чем из 80 стран. Вы можете подключать рекламу не только из Директа, но и других платформ.<br /><br />📖 Подробнее об обновлении читайте <a href=\"https://clck.ru/3TxiVr?erid=CQH36pWzJqE1dR7FwDyjLstVkaZgSjDwxZBg2GxY8ZX7AU\">здесь.</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1986-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-03T10:00:45+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1986-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1985", "url": "https://t.me/c/1181264642/1985", "title": "Обзор Swift Sendable: предотвращение гонки данных на этапе компиляции  До появления Swift Concurrenc", "content_html": "<strong>Обзор Swift Sendable: предотвращение гонки данных на этапе компиляции</strong><br /><br />До появления Swift Concurrency существовала вероятность того, что несколько потоков могли одновременно получить доступ к изменяемому состоянию. <br /><br />Эти ошибки были мягко говоря трудновоспроизводимы, да и приложение могло нормально работать месяцами, а <a href=\"https://www.sagarunagar.com/blog/swift-sendable-compile-time-data-race-prevention/#:~:text=An%20application%20might%20work%20perfectly%20for%20months%20and%20then%20suddenly%20crash%20or%20corrupt%20data%20in%20production\">затем внезапно начать крашиться уже на проде</a>.<br /><br />В Swift Concurrency используется другой подход:<br /><br /><blockquote>Вместо того, чтобы пытаться обнаружить гонки данных в рантайме, Swift пытается в первую очередь предотвратить их появление.</blockquote><br /><br />И как раз в центре этой системы находится протокол Sendable.<br /><br />📖 <a href=\"https://www.sagarunagar.com/blog/swift-sendable-compile-time-data-race-prevention/\">В статье разбирается</a>, как он работает, в очередной раз можно узнать, что вообще представляет собой гонка данных, почему это опасно и как Swift помогает не допустить их появление в нашем коде.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1985-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-03T07:57:26+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1985-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1984", "url": "https://t.me/c/1181264642/1984", "title": "🍏 Какие изменения ждут нас в iOS, MacOS и Apple Intelligence?  Узнай на кейноуте WWDC26 от Apple уже", "content_html": "<strong>🍏 Какие изменения ждут нас в iOS, MacOS и Apple Intelligence?</strong><br /><br />Узнай на кейноуте WWDC26 от Apple уже 8 июня! Приглашаем на бесплатный совместный просмотр трансляции кейноута в ИТ-хабах Т-Банка. Будет пицца и обсуждение главного — то, что реально можно забрать в работу.<br /><br />В этом году конференция обещает быть особенно интересной: с сильным фокусом на Apple Intelligence, большим обновлением Siri, а еще с упором на стабильность и качество в новых iOS и MacOS.<br /><br />Выбирай город для просмотра WWDC26 и жми, чтобы зарегистрироваться:<br /><br />→ <a href=\"https://meetup.tbank.ru/event/wwdc26/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev&amp;erid=2RanykC6LVh\">Москва</a> <br />→ <a href=\"https://meetup.tbank.ru/event/t-talk-mobile24/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev\">Санкт-Петербург</a> <br />→ <a href=\"https://meetup.tbank.ru/event/t-talk-mobile25/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev\">Казань</a>  <br />→ <a href=\"https://meetup.tbank.ru/event/t-talk-mobile21/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev\">Нижний Новгород </a><br />→ <a href=\"https://meetup.tbank.ru/event/t-talk-mobile23/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev\">Краснодар </a><br />→ <a href=\"https://meetup.tbank.ru/event/t-talk-mobile22/?utm_source=telegram&amp;utm_medium=blg.fix&amp;utm_campaign=mtp-ev-mob_partners_0526&amp;utm_term=iosdev\">Воронеж</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1984-0.jpg\" alt=\"media\"/>", "date_published": "2026-06-02T13:07:26+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1984-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1983", "url": "https://t.me/c/1181264642/1983", "title": "", "content_html": "", "date_published": "2026-06-02T08:23:38+00:00"}, {"id": "https://t.me/c/1181264642/1982", "url": "https://t.me/c/1181264642/1982", "title": "Разбор проблем с анимацией в SwiftUI List  В статье рассмотрено несколько трудностей, связанных с из", "content_html": "<strong>Разбор проблем с анимацией в SwiftUI List<br /><br /></strong>В статье рассмотрено несколько трудностей, связанных с изменением высоты строк в списках внутри наших приложений.<br /><br />Есть и пример реализации своего кастомного лэйаута для решения этих сложностей. <br /><br />📖 Статью почитать можно <a href=\"https://fatbobman.com/en/posts/taming-row-height-and-spacing-jumps/\">здесь</a>, а посмотреть на исходный код <a href=\"https://gist.github.com/fatbobman/02a6ffffd58f0997b9f9155b89fea490?utm_source=Fatbobman%20Blog&amp;utm_medium=web\">вот тут</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-06-01T10:52:27+00:00"}, {"id": "https://t.me/c/1181264642/1981", "url": "https://t.me/c/1181264642/1981", "title": "iOS-разработчик использует Claude Opus 4.8, чтобы изменить цвет кнопки и подвинуть её на 2 пикселя в", "content_html": "<strong>iOS-разработчик использует Claude Opus 4.8, чтобы изменить цвет кнопки и подвинуть её на 2 пикселя вниз</strong><br /><br /><em>Помните, курение вредит вашему здоровью.</em><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-29T10:35:14+00:00"}, {"id": "https://t.me/c/1181264642/1980", "url": "https://t.me/c/1181264642/1980", "title": "Распознаём текст на изображениях с помощью Vision  Статья Дэниела Саиди посвящена работе с Vision-фр", "content_html": "<strong>Распознаём текст на изображениях с помощью Vision</strong><br /><br />Статья Дэниела Саиди посвящена работе с Vision-фреймворком, в особенности, работе с многострочным текстом и группировке текста в осмысленные абзацы.<br /><br />📖 Почитать можно <a href=\"https://danielsaidi.com/blog/2026/01/10/detecting-text-in-images-with-the-vision-framework\">вот тут</a>.<br /><br />📺 А отдельная WWDC-сессия доступна <a href=\"https://developer.apple.com/videos/play/wwdc2025/272/\">здесь</a>.<br /><br />Кстати, в канале можно чекнуть и <a href=\"https://t.me/iosdev/644\">способы определения контуров на изображениях</a>, и то, как <a href=\"https://t.me/iosdev/1464\">создавать собственные стикеры</a> с помощью этого фреймворка.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1980-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-29T08:22:58+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1980-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1979", "url": "https://t.me/c/1181264642/1979", "title": "Как скрыть стандартную модалку с крашами Xcode  Если у вас по какой-то причине Xcode слишком часто п", "content_html": "<strong>Как скрыть стандартную модалку с крашами Xcode</strong><br /><br />Если у вас по какой-то причине Xcode слишком часто падает и надоело постоянно видеть эти огромные крашлоги, то может помочь <a href=\"https://x.com/TheMrKai77/status/2059732231061753930\">этот способ от Стефана Касаса</a>:<br /><br /><blockquote>𝚍𝚎𝚏𝚊𝚞𝚕𝚝𝚜 𝚠𝚛𝚒𝚝𝚎 𝚌𝚘𝚖.𝚊𝚙𝚙𝚕𝚎.𝙲𝚛𝚊𝚜𝚑𝚁𝚎𝚙𝚘𝚛𝚝𝚎𝚛 𝚄𝚜𝚎𝚄𝙽𝙲 -𝚋𝚘𝚘𝚕 𝚈𝙴𝚂</blockquote><br /><br />А ещё можно установить <a href=\"https://developer.apple.com/download/all/?q=crash%20reporter\">Additional tools для Xcode</a> и настроить больше опций в Crash Reporter Prefs.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1979-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-28T08:38:04+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1979-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1978", "url": "https://t.me/c/1181264642/1978", "title": "Использование инструментов Xcode для оптимизации кода с Swift Concurrency  Антуан ван дер Ли выпусти", "content_html": "<strong>Использование инструментов Xcode для оптимизации кода с Swift Concurrency</strong><br /><br />Антуан ван дер Ли выпустил видео, в котором делится ещё одним взглядом на инструментарий. <br /><br />В частности, он показывает, как можно анализировать стату в рантайме, как визуализировать состояние Swift-тасок. А ещё можно посмотреть на взаимосвязи в виде графиков для структурированного параллелизма, и как таски влияют на CPU.<br /><br />📖 Обзорная статья <a href=\"https://www.avanderlee.com/concurrency/using-xcode-instruments-to-optimize-swift-concurrency-code/\">здесь</a>.<br /><br />📺 А видео посмотреть можно <a href=\"https://www.youtube.com/watch?v=hDFOy-ynJ6I\">тут</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1978-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-27T07:58:18+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1978-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1977", "url": "https://t.me/c/1181264642/1977", "title": "😃 iOS Dev", "content_html": "😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1977-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-26T06:38:06+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1977-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1976", "url": "https://t.me/c/1181264642/1976", "title": "От WebView к CoreText: создание собственной читалки EPUB для iOS  Разработчик делится, почему ему пр", "content_html": "<strong>От WebView к CoreText: создание собственной читалки EPUB для iOS</strong><br /><br />Разработчик делится, почему ему пришлось перейти на на путь рендеринга CoreText вместо стандартной практики с использованием WebView. <br /><br />А ещё можно узнать, как он пришёл к тому, что хотел изначально: структура EPUB из экосистемы, встроенное взаимодействие iOS, нумерация страниц, CoreText, стабильная позиция чтения по координатам контента и типографика CJK как основное требование.<br /><br />📖 <a href=\"https://chang-jui-lin.github.io/Yuedu-reader/2026/05/20/from-webview-to-coretext/\">Про детали</a> можно почитать в этом посте.<br /><br />🛠 К слову, сама читалка опенсорсная, и реализацию <a href=\"https://github.com/CHANG-JUI-LIN/Yuedu-reader\">можно посмотреть на GitHub</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1976-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-25T07:26:34+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1976-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1975", "url": "https://t.me/c/1181264642/1975", "title": "🎉 Это мой нулевой километр  Сегодня мой День Рождения, и мне хочется загадать одно желание.  Хотя в ", "content_html": "<strong>🎉 Это мой нулевой километр</strong><br /><br />Сегодня мой День Рождения, и мне хочется загадать одно желание.<br /><br />Хотя в канале 95% про iOS, про разработку и всё, что с ней связано, иногда я пишу про то, что может быть интересно, <a href=\"https://t.me/iosdev/1901\">о надежде</a>, о том, что чувство юмора может помочь <a href=\"https://t.me/iosdev/1877\">даже в сложных ситуациях</a>.<br /><br />Я помню ЧМ 2018 в России, помню счастливые мгновения для нашей страны и ногу Акинфеева (удачно сложилось и в тот самый момент я был на стадионе). Помню золотую олимпиаду для наших хоккеистов за полгода до этого. Помню каждое из этих мгновений, когда гордость переполняла каждую клетку и что уж там, душу. Кстати, помните ещё где-то там появился мем «Все на Никольскую!»?<br /><br />Так вот. Я сегодня не хочу желать чего-то для себя лично. <br /><br />Я хочу верить, что мы все ещё скажем «Все на Никольскую!» по счастливому поводу.<br /><br />И по нерегулярной традиции поделюсь цитатой Терри Пратчетта:<br /><br /><blockquote>Люди редко останавливаются для размышлений – обычно они думают на ходу. Ну и зря. Иногда остановиться совсем не вредно, особенно если идёшь в неправильном направлении.</blockquote><br /><br />❤️‍🔥 Спасибо Вам, что читаете этот канал.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-24T11:19:41+00:00"}, {"id": "https://t.me/c/1181264642/1974", "url": "https://t.me/c/1181264642/1974", "title": "Прототип Star Wars с помощью AirPods и датчиков движения  Наткнулся на необычное использование трека", "content_html": "<strong>Прототип Star Wars с помощью AirPods и датчиков движения</strong><br /><br />Наткнулся на необычное использование трека движений в SwiftUI. <br /><br />Видел несколько приложений для слежения за осанкой, но этот <a href=\"https://x.com/toddham/status/2001729957211304305?s=46&amp;t=v6hph5BjidLlEJbJP8V7wA\">концепт</a> тоже интересный.<br /><br />🔥 Если кайфовая идея.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-22T09:16:21+00:00"}, {"id": "https://t.me/c/1181264642/1973", "url": "https://t.me/c/1181264642/1973", "title": "А вот и ожидаемые плоды оптимизации в новом витке капиталистического мира  Одна из моих подписок - G", "content_html": "<strong>А вот и ожидаемые плоды оптимизации в новом витке капиталистического мира<br /></strong><br />Одна из моих подписок - Google AI Pro решила наконец-то преследовать цели по наполнению денежных мешков и раскинула свои сети уверенно, без предупреждения - и с новой силой. Мы хотим быть как Claude (но лучше), написано в письме просто завуалированно. <br /><br />Нужна новая серия того самого мультсериала, только с переделкой про токены: берёте ваши деньги, покупаете токены - иииии, их нет.<br /><br />А ещё учитывая недавно <a href=\"https://blog.google/products-and-platforms/products/search/search-io-2026/\">анонсированные изменения в поиске</a> ожидаю, что скоро все смогут делать 3 бесплатных запроса в гугле в день, а остальное за дополнительную плату. <br /><br />🤬 Как считаете, хороший шаг от корпорации добра? <br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1973-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-21T06:50:28+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1973-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1972", "url": "https://t.me/c/1181264642/1972", "title": "Настройка App Intents в SwiftUI-приложениях  При создании интента фича становится видимой для систем", "content_html": "<strong>Настройка App Intents в SwiftUI-приложениях</strong><br /><br />При создании интента фича становится видимой для системы, что позволяет юзеру запускать её с помощью шорткатов или Siri. <br /><br />📖 <a href=\"https://www.createwithswift.com/customizing-an-app-intent/\">В этом руководстве</a> можно посмотреть, как создавать свои интенты в деталях:<br /><br />1️⃣ Как указать текст, который система должна отображать.<br /><br />2️⃣ Как запросить у пользователя дополнительные параметры.<br /><br />3️⃣ Как показать нужный диалог при взаимодействии с пользователям.<br /><br />🛠 Код проекта доступен <a href=\"https://www.createwithswift.com/content/files/2025/04/BooksShelfCustomIntent-final-1.zip\">здесь</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-20T12:16:51+00:00"}, {"id": "https://t.me/c/1181264642/1971", "url": "https://t.me/c/1181264642/1971", "title": "Про реджекты в App Store  😃 iOS Dev", "content_html": "Про реджекты в App Store<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1971-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-19T11:43:28+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1971-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1970", "url": "https://t.me/c/1181264642/1970", "title": "Make WWDC Great Again  Вчера общался с С-Level руководителем о предстоящем даб-дабе и мы вспомнили о", "content_html": "<strong>Make WWDC Great Again</strong><br /><br />Вчера общался с С-Level руководителем о предстоящем даб-дабе и мы вспомнили о том, что сейчас при показе новинок эпла и тем более конференций не хватает рок-н-ролла, эмоций, я уже не говорю про вау-эффект.<br /><br />Все стерильное просто до жути: записанное видео, с одним и тем же монотонным описанием фич.<br /><br />Помните легендарное видео у майкрософт, где Балмер скандировал Developers, developers, developers? Или Джобса с презентацией первого айфона, или показ макбука в конверте?<br /><br />Ощущение, что сейчас WWDC превращается просто в ещё одну рекламу черт знает для кого. Инвайты, которые должны быть случайными - получают одни и те же медиа из года в год. А фичи, которые анонсируются, в лучшем случае, докатываются до нас спустя 3-4 релиза оси.<br /><br />Да и про номинантов на WWDC можно сказать то же, где уникальные, самобытные, ни на что не похожие приложения? Ну ладно, как минимум <a href=\"https://apps.apple.com/cy/app/grug/id6751649802\">одно</a> есть.<br /><br />Но блин, Киберпанк в претендентах, вот уж где неожиданность.<br /><br />Дайте нам действительно необычные решения, покажите, что из миллионов приложений ребята делают что-то по-настоящему взрывающее мозг. <br /><br />Я отказываюсь верить, что таких приложений нет.<br /><br />Я хочу, чтобы на первый план снова вышли Разработчики - да, с большой буквы. <br /><br />Не AI, не однотипные реализации одного и того же или приложение-реклама гигантской корпорации, а разработчики, идеи которых и сделали Apple триллионной компанией.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-19T07:47:54+00:00"}, {"id": "https://t.me/c/1181264642/1969", "url": "https://t.me/c/1181264642/1969", "title": "Всплывающая карточка в SwiftUI с использованием safeAreaBar  Делюсь несложной реализацией реализации", "content_html": "<strong>Всплывающая карточка в SwiftUI с использованием safeAreaBar</strong><br /><br />Делюсь несложной реализацией реализации такой карточки с кнопкой call-to-action (и для 26 оси, и с фоллбэком для 18).<br /><br />📖 <a href=\"https://codakuma.com/floating-safe-area-bar/\">Посмотреть код можно в этой статье</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1969-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-18T08:17:44+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1969-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1968", "url": "https://t.me/c/1181264642/1968", "title": "", "content_html": "", "date_published": "2026-05-15T08:28:27+00:00"}, {"id": "https://t.me/c/1181264642/1967", "url": "https://t.me/c/1181264642/1967", "title": "Почему я почти не спорю в интернете  Порой интернет-дискуссии, особенно в каких-то кулуарах, могут р", "content_html": "<strong>Почему я почти не спорю в интернете</strong><br /><br />Порой интернет-дискуссии, особенно в каких-то кулуарах, могут растекаться на тысячи комментариев, что безусловно весело для наблюдателя, но изматывающе в большинстве случаев для участников.<br /><br />Крч, есть забавная штука, которую вы если не слышали, но подозревали:<br /><br /><strong>«На опровержение чуши требуется энергии на порядок больше, чем для её создания»</strong>. <br /><br />У этого даже <a href=\"https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%91%D1%80%D0%B0%D0%BD%D0%B4%D0%BE%D0%BB%D0%B8%D0%BD%D0%B8\">термин</a> собственный есть.<br /><br />Мне с головой хватает разбора пуллреквестов и ТЗ по самым разным вещам на работе, после которых не остаётся сил кому-то что-то доказывать, ведь в интернете абсолютно всегда кто-то неправ.<br /><br />Например, ребята, которые пилят эмулятор для PS3, <a href=\"https://habr.com/ru/news/1033714/\">попросили перестать им слоповые PR</a>, потому что на это нужно просто бесконечное количество времени.<br /><br />Делайте то, что вам нравится, с остальным разберётесь (если захотите).<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-05-15T06:30:59+00:00"}, {"id": "https://t.me/c/1181264642/1966", "url": "https://t.me/c/1181264642/1966", "title": "Лучшие практики и подводные камни при работе с URLSession  Выкатил сумасшедшую по размеру статью, ко", "content_html": "<strong>Лучшие практики и подводные камни при работе с URLSession</strong><br /><br />Выкатил сумасшедшую по размеру статью, которая охватывает огромное количество аспектов при работе с URLSession. <br /><br />Про конфиги, политики кэширования, переходы между стейтами задач и многое другое.<br /><br />За 4 года в канале собралось несколько десятков постов, в которых я делился и своими наработками, и <a href=\"https://t.me/iosdev/737\">докладами наших коллег</a>. <br /><br />Тут и про вебсокеты, и про то, что можно протестить в первую очередь.<br /><br />Ну и без анимаций не обошлось, а как иначе.<br /><br />📖 <a href=\"https://iosiq.ru/urlsession-lifecycle.html\">Почитать статью целиком можно здесь</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1966-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1966-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-05-14T12:47:57+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1966-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1965", "url": "https://t.me/c/1181264642/1965", "title": "Доклады с конференции try! Swift Tokyo 2026  Опубликовали плейлист всех докладов с конференции, прош", "content_html": "<strong>Доклады с конференции try! Swift Tokyo 2026</strong><br /><br />Опубликовали плейлист всех докладов с конференции, прошедшей в Токио.<br /><br />На что точно можно взглянуть:<br /><br />📺 <a href=\"https://www.youtube.com/watch?v=Vs_hytYk3HU&amp;list=PLCl5NM4qD3u-57q9cEMJmG8LwHSkcJmRM&amp;index=4&amp;pp=iAQB\">Swift Concurrency Type System</a><br /><br />📺 <a href=\"https://www.youtube.com/watch?v=f-xhPNkxG6Y&amp;list=PLCl5NM4qD3u-57q9cEMJmG8LwHSkcJmRM&amp;index=10\">The hidden power of Async Sequences</a><br /><br />📺 <a href=\"https://www.youtube.com/watch?v=INlzHNbQ9Eg&amp;list=PLCl5NM4qD3u-57q9cEMJmG8LwHSkcJmRM&amp;index=12\">Why is SwiftUI like that?</a><br /><br />📺 Целиком все доклады <a href=\"https://www.youtube.com/playlist?list=PLCl5NM4qD3u_Azg7gKw5CK_DqSLeb4QMY\">можно посмотреть вот тут.</a><br /><br />А вот тут есть список прошлых конференций:<br /><blockquote>🔗 <a href=\"https://t.me/iosdev/1383\">Подборка докладов с iOS Conf SG 2024</a><br />🔗 <a href=\"https://t.me/iosdev/1346\">Подборка докладов с конференции Swift Craft</a><br />🔗 <a href=\"https://t.me/iosdev/1210\">Доклады с конференции try! Swift Tokyo 2024</a><br />🔗 <a href=\"https://t.me/iosdev/1444\">Подборка докладов с конференции Swift Connection 2024</a><strong><br />🔗 </strong><a href=\"https://t.me/iosdev/1510\">iOS Conf SG 2025: подборка докладов</a></blockquote><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1965-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-13T10:59:12+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1965-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1964", "url": "https://t.me/c/1181264642/1964", "title": "Глава СПЧ заявил о невозможности запретить и «выключить» VPN  Да вы что, как говорится.  Запретить и", "content_html": "<strong>Глава СПЧ </strong><a href=\"https://www.rbc.ru/politics/12/05/2026/69fdd3de9a79472b4764f50a\"><strong>заявил</strong></a><strong> о невозможности запретить и «выключить» VPN</strong><br /><br />Да вы что, как говорится.<br /><br />Запретить или вообще выключить сервисы VPN в России невозможно, заявил РБК председатель Совета по правам человека и развитию гражданского общества (СПЧ) Валерий Фадеев, комментируя целесообразность дополнительного законодательного регулирования использования таких сервисов.<br /><br />По словам Фадеева, сейчас «это стало ясно всем, а специалистам стало ясно давно». «Здесь и предприятия, и банки, и программисты, которые скачивают коды, и так далее. Это лишь средство, закрытый канал связи, который используют миллионы контрагентов. Я никогда не говорил, что надо VPN закрыть», — пояснил он.<br /><br />Ну, конечно, раз программисты <strong>скачивают коды</strong>, а не вся инфра отвалилась у кучи структур из-за этих ограничений.<br /><br />И оплату в сторе верните через моб операторов хотя бы!<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-05-13T08:11:24+00:00"}, {"id": "https://t.me/c/1181264642/1963", "url": "https://t.me/c/1181264642/1963", "title": "Когда критичный баг на проде после применения ИИ зааффектил десять тысяч пользователей, но ты уже пр", "content_html": "Когда критичный баг на проде после применения ИИ <a href=\"https://t.me/iosdev/1956\">зааффектил</a> десять тысяч пользователей, но ты уже продлил подписку на следующий месяц.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1963-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1963-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-05-12T08:40:27+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1963-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1962", "url": "https://t.me/c/1181264642/1962", "title": "Google протестирует новый формат, который будет применяться к вакансиям младшего и среднего уровня, ", "content_html": "Google протестирует новый формат, который будет применяться к вакансиям младшего и среднего уровня, в отдельных командах в США и планирует впоследствии расширить его применение по всей компании и в других регионах, если он окажется успешным.", "date_published": "2026-05-11T13:33:18+00:00"}, {"id": "https://t.me/c/1181264642/1961", "url": "https://t.me/c/1181264642/1961", "title": "Реализуем голографический эффект на Metal в стиле покемон-карточек  Запилил реализацию кайфового эфф", "content_html": "<strong>Реализуем голографический эффект на Metal в стиле покемон-карточек</strong><br /><br />Запилил реализацию кайфового эффекта, который срочно нужно добавить в <a href=\"https://apps.apple.com/us/app/collectr-tcg-collector-app/id1603892248\">Collectr</a> (я даже написал им письмо, но не уверен, что они реализуют).  <br /><br />Сам алгоритм состоит из нескольких шагов: звёздочки разбросаны по невидимой сетке: в каждой клетке случайно решаем, будет тут звёздочка или нет, в каком месте сесть и какого быть размера. У каждой свой тайминг: появляется в свой момент, плавно разгорается, плавно гаснет, поэтому мигают вразнобой, а не все сразу. <br /><br />Скруглённые углы карточки тоже считаются на лету: шейдер сам чекает, где край, и плавно меняет прозрачность, если требуется. <br /><br />А 3D-наклон  сделан уже на SwiftUI: куда тапаем пальцем, туда и поворачиваем)<br /><br />Внутри нет ни одной заготовленной текстуры, вся весь визуал собирается из координаты пикселя, времени и пары хеш-функций.<br /><br />📖 Код уже доступен для всех подписчиков <a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\">на бусти</a> и <a href=\"https://t.me/tribute/app?startapp=s6SN\">трибьюте</a> по спецофферу (кроме всей базы и сотен вопросов собралось уже по самым скромным оценкам пара десятков кайфовых уникальных шейдеров).<br /><br />А вообще рекомендую почитать вот эти посты: <a href=\"https://t.me/iosdev/1793\">база</a>, <a href=\"https://t.me/iosdev/1650\">подборка</a>, <a href=\"https://t.me/iosdev/1124\">стартовая точка</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-11T08:45:28+00:00"}, {"id": "https://t.me/c/1181264642/1960", "url": "https://t.me/c/1181264642/1960", "title": "Концепт быстрого удаления текста в iPhone  Эли Геррон (бывший дизайнер Apple) предложил необычный ва", "content_html": "<strong>Концепт быстрого удаления текста в iPhone</strong><br /><br />Эли Геррон (бывший дизайнер Apple) <a href=\"https://x.com/eliguerron/status/2052638041421058160\">предложил</a> необычный вариант удаления текста для прокачки стандартной клавиатуры. Вместо удаления посимвольно и ожидания можно зажать кнопку и стирать сразу по словам (или даже с ускорением).<br /><br />Как думаете, полезно или не очень?<br /><br />👍 - можно запилить, 👎 - так себе идея<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1960-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1960-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-05-08T12:45:41+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1960-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1959", "url": "https://t.me/c/1181264642/1959", "title": "Бесплатная книга по алгоритмам от Джеффа Эриксона  Делюсь бесплатной электронной версией учебника «А", "content_html": "<strong>Бесплатная книга по алгоритмам от Джеффа Эриксона<br /><br /></strong>Делюсь бесплатной электронной версией учебника «Алгоритмы», а также другими конспектами лекций, которые Джефф написал для различных теоретических занятий по информатике в Университете Иллинойса.<br /><br />Этот материал является основным справочным материалом для двух регулярно предлагаемых курсов теоретической информатики в Иллинойсе: CS 374 и CS 473.<br /><br /><blockquote>Данный учебник не предназначен для новичков или просто ознакомления со структурами данных и алгоритмами. Он предполагает, что вы знакомы с дискреткой и уже владеете базой.</blockquote><br /><br />📖 Детально можно <a href=\"https://jeffe.cs.illinois.edu/teaching/algorithms/\">прочитать здесь</a>.<br /><br />➡️ <a href=\"https://jeffe.cs.illinois.edu/teaching/algorithms/book/Algorithms-JeffE.pdf\">Скачать книгу в формате pdf можно тут</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-05-08T06:22:25+00:00"}, {"id": "https://t.me/c/1181264642/1958", "url": "https://t.me/c/1181264642/1958", "title": "В какие игры играете?  Первой РПГ, в которую я играл давным-давно, была Готика. Последние несколько ", "content_html": "<strong>В какие игры играете?</strong><br /><br />Первой РПГ, в которую я играл давным-давно, была Готика. Последние несколько лет ребята пилят ремейк, и это уже превращается конечно в долгострой, но наконец всё сдвинулось с мертвой точки, и все-таки к лету верим в полноценную версию.<br /><br />А пока мне наконец начинают долетать бонусы за предзаказ и на картинке совсем не Стоунхедж (как вы могли подумать).<br /><br />А в какие игры играете вы? Какой жанр? Любите ли соревновательный режим? Если бы можно было оставить только одну игру, какую бы вы оставили?<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1958-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-06T10:38:32+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1958-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1957", "url": "https://t.me/c/1181264642/1957", "title": "Жизненный цикл SwiftUI - интерактивный разбор                                                       ", "content_html": "<strong>Жизненный цикл SwiftUI - интерактивный разбор            </strong>                                              <br />                                                                                                         <br />Продолжаю делиться своими наработками. Разобрал стадии, через которые проходят вьюхи внутри, для каждой стадии есть описание, код и известные заблуждения.   <br /><a href=\"https://t.me/iosdev/1940\">Раздел основан на Apple-доках</a> и WWDC-сессиях, а также на нескольких независимых статьях.<br /><br />Тут есть и почему вьюхи обновляются множество раз, и в чем разница для TabView (и когда там срабатывает onAppear).<br /><br />А также про порядок при рендере и почему важно уделять внимание пустым состоянием.<br /><br />📖 <a href=\"https://iosiq.ru/swiftui-lifecycle.html\">Целиком статья с разбором доступна здесь </a>(все интерактивно).<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-05-05T07:24:13+00:00"}, {"id": "https://t.me/c/1181264642/1956", "url": "https://t.me/c/1181264642/1956", "title": "Cursor с Claude Opus снёс базу на проде за 9 секунд  ИИ-агент на базе Cursor с Claude Opus 4.6 от An", "content_html": "<strong>Cursor с Claude Opus снёс базу на проде за 9 секунд</strong><br /><br /><blockquote>ИИ-агент на базе Cursor с Claude Opus 4.6 от Anthropic <a href=\"https://habr.com/ru/articles/1028758/\">удалил продакшн-базу данных</a> и все резервные копии одним API-вызовом к Railway (инфраструктурному провайдеру).</blockquote><br /><br />Не сомневаюсь, что подобных историй, когда люди слишком доверяют слопу, будет становиться только больше и больше.<br /><br />Эта хрень буквально сочится изо всех щелей, и кажется, что дальше будет только хуже.<br /><br />Особенно смешно читать, когда какой-нибудь клоун в очередном ролике рассказывает, что можно уволить 100 человек и заменить всех их двумя агентами. Ну, удачи.<br /><br />Или когда какой-нибудь CEO рассказывает, как они сократили тысячи людей в поддержке, а потом вы не можете связаться с каким-нибудь Qatar Airways, которые, внезапно, не готовы распараллелить несколько десятков чатов. <br /><br />Особенно грустно за бигтех, в котором слоп уже повсюду.<br /><br />При всём этом я не противник ИИ. Скорее придерживаюсь рационального подхода, в котором как минимум вы не будете прокидывать bypass all permissions своему клоду.<br /><br />В сторе тоже какая-то жопа, на самом деле, и уже где-то пару лет: появляются сотни, тысячи слепленных поделок едва ли не каждый час. И каждый гордо бежит в твиттер кричать: смотрите, что я сделал.<br /><br />А на самом деле там очередная безвкусица, на которую без слёз не взглянешь.<br /><br />Пора уже признать: что это псевдо-революция только не только повышает уровень тревоги, уровень вашей ответственности, но и скейлит<a href=\"https://t.me/iosdev/1747\"> энтропию</a> в ваших проектах буквально каждый день.<br /><br />Бюджет на токены не самое страшное. Отсутствие элементарных правил безопасности -  причина, по которой происходят случаи, описанные выше.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-05-04T07:28:58+00:00"}, {"id": "https://t.me/c/1181264642/1954", "url": "https://t.me/c/1181264642/1954", "title": "Apple использует Claude для написания своих приложений  📖 Аналитик MacRumors сегодня заметил claude.", "content_html": "<strong>Apple использует Claude для написания своих приложений</strong><br /><br />📖 <a href=\"https://x.com/aaronp613/status/2049986504617820551\">Аналитик MacRumors</a> сегодня заметил <code>claude.md </code>в обновлении приложухи Apple Support.<br /><br />Конечно же, в следующем апдейте они опомнились, <a href=\"https://x.com/aaronp613/status/2050154318934712525\">но интернет всё помнит</a>.<br /><br />Ставь лайк, если ты как Apple.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1954-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-01T10:52:35+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1954-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1953", "url": "https://t.me/c/1181264642/1953", "title": "@iOSIQBot - роадмап, челленджи, лидерборды теперь и в миниприложении в телеграм  👌 Во-первых, поздра", "content_html": "<strong>@iOSIQBot</strong><strong> - роадмап, челленджи, лидерборды теперь и в миниприложении в телеграм</strong><br /><br />👌 Во-первых, поздравляю с Днём Труда всех причастных.<br /><br />Во-вторых, наконец засинкал <a href=\"https://boosty.to/ios_dev\">базу вопросов</a>, <a href=\"https://iosiq.ru/roadmap.html\">роадмап</a>, контент и тысячи испытаний в телеграм-боте. Теперь крч это не просто бот, по факту получился практически полноценный инструмент для проверки себя <strong>и других</strong>.<br /><br />Естественно, можно выбрать метку Анонимности (актуалочка) - чтобы ваше имя было скрыто для всех (по дефолту я запилил именно так). Вообще в будущем можно вполне <a href=\"https://t.me/iosdev/1824\">трекнуть и резы из приложения</a>, но пока мне просто лень)<br /><br />А ещё есть стрики, полноценная история ответов, таблицы лидеров по темам - да блин, чего только нет)<br /><br />Поддержать развитие и не допустить плашки шпионского по <a href=\"https://t.me/tribute/app?startapp=dvSh\">можно здесь</a> (или бум - <a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\">вот тут</a> | <a href=\"https://t.me/tribute/app?startapp=s6SN\">или тут</a>).<br /><br />➡️ <strong>@iOSIQBot</strong> - залетайте, попробуйте свои силы, надеюсь всё не зря. Для запуска приложухи просто можно тапнуть кнопку <strong>Открыть</strong>.<br /><br />Буду рад вашим замечаниям в лс канала (или можете написать мне тоже - я всегда и всем отвечаю).<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1953-0.jpg\" alt=\"media\"/>", "date_published": "2026-05-01T10:22:07+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1953-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1952", "url": "https://t.me/c/1181264642/1952", "title": "Разработчики МАКС после новости о пометке от Cloudflare.  😃 iOS Dev", "content_html": "Разработчики МАКС <a href=\"https://t.me/iosdev/1951\">после новости о пометке</a> от Cloudflare.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1952-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1952-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-04-30T10:59:51+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1952-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1951", "url": "https://t.me/c/1181264642/1951", "title": "Cloudflare пометил мессенджер Макс/MAX как «шпионское ПО»  После этих шагов в прошлый раз выпилили п", "content_html": "<strong>Cloudflare пометил мессенджер Макс/MAX как «шпионское ПО»</strong><br /><br />После этих шагов в прошлый раз выпилили приложение Telega из стора. <br /><br />📖 <a href=\"https://radar.cloudflare.com/ru-ru/scan/3c745d75-2df5-4480-947f-278da1221657/summary\">Ссылка на отчёт.</a><br /><br />Ваш прогноз, выпилят мессенджер из стора или оставят?<br /><br />👍 - удалят, 👎 - оставят.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-04-30T10:57:13+00:00"}, {"id": "https://t.me/c/1181264642/1950", "url": "https://t.me/c/1181264642/1950", "title": "Как работают Immediate tasks в Swift Concurrency на примерах  Такой тип для тасок появился после при", "content_html": "<strong>Как работают Immediate tasks в Swift Concurrency на примерах</strong><br /><br />Такой тип для тасок появился <a href=\"https://github.com/swiftlang/swift-evolution/blob/main/proposals/0472-task-start-synchronously-on-caller-context.md\">после принятия SE-472</a> в Swift 6.2. <br /><br />По факту это норм решение для случаев, когда необходимо избежать начальной задержки, вызванной созданием и планированием задачи. <br /><br />Например, может пригодиться, если выполняемая задача требует минимальных затрат, или если известно, что мы уже находимся в нужном акторе, но ещё не в асинхронном контексте.<br /><br /><blockquote>Главное, что нужно запомнить: изменения, связанные с Task.immediate, затрагивают момент запуска задачи, а не весь её жизненный цикл.</blockquote><br /><br />📖 А обо всех плюсах и сложностях работы <a href=\"https://www.avanderlee.com/concurrency/immediate-tasks-in-swift-concurrency-explained/\">можно почитать в этой статье</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1950-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-30T08:28:33+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1950-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1949", "url": "https://t.me/c/1181264642/1949", "title": "Ну, пора.🫡  Пора бы развеяться — тем более что Яндекс Вертикали разыгрывают 10 и 20 тысяч рублей на ", "content_html": "Ну, пора.🫡<br /><br />Пора бы развеяться — тем более что Яндекс Вертикали разыгрывают 10 и 20 тысяч рублей на 🌍Путешествия за ваши IT-мемы.<br /><br />Заглядывайте <a href=\"https://t.me/+8WpPr-hOPPViNjAy/?erid=CQH36pWzJqE1dR7FxsiRcfoZAnw4NP2mikPb1HNYyKC1dp\">в канал команды</a>, чтобы поучаствовать ✈️<br /><img src=\"https://tg.davvie.com/static/-1001181264642--1949-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-29T11:00:25+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1949-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1947", "url": "https://t.me/c/1181264642/1947", "title": "iOS Roadmap 2026 — путь от Trainee до Staff/Principal  Роадмапов в интернете много, но почти все они", "content_html": "<strong>iOS Roadmap 2026 — путь от Trainee до Staff/Principal</strong><br /><br />Роадмапов в интернете много, но почти все они сводятся к перечню тем без понимания «куда» и «почему». Я собрал свой, основанный не только на опыте проведения интервью на Senior+, статьях на Хабре и сотнях постов на канале, но и <a href=\"https://t.me/iosdev/1940\">собрал базу</a> по компетенциям, скиллам и так далее.<br /><br />Каждый из 40+ разделов выстроен по уровням (Trainee → Junior → Middle → Senior → Tech Lead → Staff/Principal) с примерами в стилях фокус vs можно отложить (или как говорится, зачем спрашивать то, что не пригодится на практике). Нашлось место и хардкор-темам.<br /><br />Отдельный раздел про AI-инструменты (Claude Code, Cursor, MCP-серверы, Skills, Foundation Models) — с конкретными репами и шаблонами <code>CLAUDE.md</code>, которые я попробовал впилить в самые разные пет-проекты. <br /><br />Есть и зарплатные вилки по уровням со ссылками на свежие исследования (о чем я периодически пишу в канале). <br /><br />🔗 <a href=\"https://iosiq.ru/roadmap.html#:~:text=%D0%B8%20%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B0%D0%BC%D0%B8%20%D1%80%D1%8B%D0%BD%D0%BA%D0%B0.-,%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%B5%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B9,-%D0%9A%D0%BB%D0%B8%D0%BA%D0%BD%D0%B8%D1%82%D0%B5%20%D0%BF%D0%BE%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8E\">Матрица компетенций</a> — с экспортом в PDF (фирменное оформление <a href=\"iosiq.ru\">iosiq.ru</a> + @iOSDev)<br /><br />📖 <a href=\"https://iosiq.ru/roadmap.html\">Роадмап бесплатен</a>, включая все диаграммы и всё остальное.<br /><br />А если вам все понравилось и вы хотели бы разобраться в более сложных вещах, вы знаете что нужно делать: <a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>тут</strong></a><strong> </strong>и <a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>тут</strong></a><strong>.</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1947-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1946-1.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1945-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1944-3.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1943-4.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1942-5.jpg\" alt=\"media\"/>", "date_published": "2026-04-29T09:36:46+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1947-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1946-1.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1945-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1944-3.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1943-4.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1942-5.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1940", "url": "https://t.me/c/1181264642/1940", "title": "Давайте к важному - хотите узнать, какой Вы фреймворк из iOS?   Я спарсил ВСЮ документацию Apple для", "content_html": "<strong>Давайте к важному - хотите узнать, какой Вы фреймворк из iOS? </strong><br /><br />Я спарсил ВСЮ документацию Apple для некоторых важных целей, и параллельно сделал побочный забавный инструмент, который поможет узнать, кем бы вы были, если бы были фреймворком.<br /><br />Ещё и скормил кучу отсылок из фильмов, цитат, игр - да чего блин там только нет!<br /><br />Пока вокруг творится жесть, если хотите отвлечься, то вот:<br /><br />📖 <a href=\"https://iosiq.ru/framework-quiz.html\">Секретная супер-ссылка</a>. Интересно, кто-нибудь из вас превратится в Metal?<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1940-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-28T09:52:42+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1940-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1939", "url": "https://t.me/c/1181264642/1939", "title": "Review Buddy - компетиторы, пуши и многое другое  Хотя топ-фича приложения до сих пор это свитч аппс", "content_html": "<strong>Review Buddy - компетиторы, пуши и многое другое</strong><br /><br />Хотя <a href=\"https://apps.apple.com/app/id6670719648\">топ-фича</a> приложения до сих пор это <strong>свитч аппстора без перелогина</strong> для просмотра любого приложения, я допилил арсенал инструментов внутри практически до оптимального на мой взгляд.<br /><br />Например, вы можете посмотреть, входит ли ваше приложение в топ любого стора буквально <strong>за считанные секунды</strong> - у меня есть краулер, который специально для этого постоянно крутится и чекает позиции. <br /><br />Пока балансирую нагрузку и апдейт идет раз в несколько часов (чаще всего этого достаточно), но в будущем может докину ресурсов и ускорю.<br /><br />А ещё вы теперь можете <strong>подписаться на пуши</strong>, рега не требуется - то есть поставили вам отзыв или оценка поменялась в какой-то стране, и об этом можно будет довольно оперативно узнать. Ну, или <em>не вам поставили оценку, а вашему сопернику.</em><br /><br />Я уже не говорю о снапшотах оценок (теперь показано, в каких именно сторах они появились), отзывов, позиций и так далее - это было, но стало ещё удобнее.<br /><br />🏠 <a href=\"https://apps.apple.com/app/id6670719648\">Скачать можно в App Store </a>- база вся бесплатна, обзор фичей <a href=\"https://reviewbuddy.v-ig.ru/\">здесь</a> (первый пост о приложении - <a href=\"https://t.me/iosdev/1386\">вот тут</a>).<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1939-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1938-1.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1937-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1936-3.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1935-4.jpg\" alt=\"media\"/><br /><strong>The video is too large.</strong>", "date_published": "2026-04-28T07:59:20+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1939-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1938-1.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1937-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1936-3.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1935-4.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1933", "url": "https://t.me/c/1181264642/1933", "title": "Mobius 2026 Spring: конференция для мобильных разработчиков  Почему мобильные приложения тормозят на", "content_html": "<strong>Mobius 2026 Spring: конференция для мобильных разработчиков</strong><br /><br />Почему мобильные приложения тормозят на проде? Как строить архитектуру, которая масштабируется с ростом пользователей? Где AI уже помогает решать инженерные задачи?<br /><br />Эти и многие другие вопросы разберем на <a href=\"https://mobiusconf.com/?utm_source=partner&amp;utm_medium=ios_career&amp;utm_campaign=announce&amp;erid=2RanymYywb8\"><strong>Mobius</strong></a> этой весной.<br /><br /><strong>📅 12–13 мая, Москва + онлайн</strong><br /><br />Два дня докладов, воркшопов и живого общения мобильного сообщества. В программе — интеграции с бэкендом, управление состоянием, CI/CD, инструменты, оптимизация перфоманса и поддержка крупных проектов.<br /><br />Листайте карточки — собрали топовые доклады из программы.<br /><br />Используйте промокод, чтобы купить персональный билет со скидкой —<strong> </strong>IOSCAREER<br /><br /><a href=\"https://mobiusconf.com/registration/personal/?utm_source=partner&amp;utm_medium=ios_career&amp;utm_campaign=announce&amp;erid=2RanymYywb8\"><strong>Купить билет</strong></a><br /><br /><em>Реклама. ООО «Джуг Ру Груп». ИНН </em><em>7801341446</em><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1933-0.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1932-1.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1931-2.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1930-3.jpg\" alt=\"media\"/><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1929-4.jpg\" alt=\"media\"/>", "date_published": "2026-04-27T09:29:21+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1933-0.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1932-1.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1931-2.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1930-3.jpg", "mime_type": "image/jpeg"}, {"url": "https://tg.davvie.com/static/-1001181264642--1929-4.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1928", "url": "https://t.me/c/1181264642/1928", "title": "Разработчики в безопасности благодаря корпоративной бюрократии?  К концу 2026 года большую часть код", "content_html": "<strong>Разработчики в безопасности благодаря корпоративной бюрократии?</strong><br /><br /><blockquote>К концу 2026 года большую часть кода будет писать искусственный интеллект, а разработчики устареют. Нет необходимости изучать программирование, потому <a href=\"https://t.me/iosdev/1853\">что вы будете заменены агентами</a>.</blockquote><br /><br />В сети полно громких заголовков о том, что ИИ вот-вот полностью заменит программистов. Однако реальность корпоративной разработки кардинально отличается от панических фантазий из сети. В крупных неайтишных компаниях, от нефтегазового сектора до финансов - любые инновации всегда сталкиваются с гигантской бюрократией.<br /><br />Если корпорации неделями одобряют простые open-source решения, они точно не отдадут свой код на откуп автономным агентам в ближайшее время. Эти неповоротливые гиганты никуда не исчезнут, ведь их бюджеты на кофе больше, чем капитал многих стартапов.<br /><br />📖 <a href=\"https://azamsharp.com/2026/02/26/developers-are-safe.html\">Азам в своём блоге призывает</a> игнорировать хайп, оставаться терпеливыми и спокойно продолжайте программировать.<br /><br />Ставьте 👍, если вы согласны с тем, что до замены разработчиков пока далеко и 😱, если боитесь замены. <br /><br />🫡 - если вы агент для claude.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-04-27T07:35:31+00:00"}, {"id": "https://t.me/c/1181264642/1927", "url": "https://t.me/c/1181264642/1927", "title": "Симулятор прохождения фильтров HR для iOS-разработчика  Запилил смешной (но не для всех) тренажёр дл", "content_html": "<strong>Симулятор прохождения фильтров HR для iOS-разработчика</strong><br /><br />Запилил смешной (но не для всех) тренажёр для прохождения фильтров, основываясь на странных и тревожных вопросах с хабра и не только.<br /><br />Все совпадения вымышлены, все вопросы случайны (или почти все).<br /><br />➡️ <a href=\"https://iosiq.ru/resume-quest/\">Попробовать пройти можно здесь</a>. <br /><br />Сразу скажу - это очень сложно, но в теории реально.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1927-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-23T14:50:06+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1927-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1926", "url": "https://t.me/c/1181264642/1926", "title": "", "content_html": "", "date_published": "2026-04-22T11:24:31+00:00"}, {"id": "https://t.me/c/1181264642/1925", "url": "https://t.me/c/1181264642/1925", "title": "Эффект интерактивного точечного фона с помощью Metal  📖 Виктор Баро поделился кайфовым примером испо", "content_html": "<strong>Эффект интерактивного точечного фона с помощью Metal</strong><br /><br />📖 Виктор Баро <a href=\"https://medium.com/@victorbaro/dotted-background-effect-in-metal-8214673edc9d\">поделился</a> кайфовым примером использования Metal с воркшопа на Try! Swift, который проходил в Токио.<br /><br />Он поддерживает три режима: <br /><br />🔘 Свечение — точки возле пальца растут и становятся ярче. <br />🔘 Притяжение — точки притягиваются к нашим касаниям, как магнит. <br />🔘 Отталкивание — точки разлетаются в разные стороны, куда бы мы не тапали.<br /><br />В результате вышло 130 строк кода для создания поля, которое корректно реагирует на тапы в iOS (или на позицию курсора в macOS).<br /><br />📖 Подробно об итерациях разработки <a href=\"https://www.metal.graphics/dotted-background-interactive\">он рассказал у себя в блоге</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1925-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1925-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-04-22T11:05:03+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1925-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1924", "url": "https://t.me/c/1181264642/1924", "title": "Навеяло актуальными событиями  Если токен от АПИшки, Ключ и ваш сертификат Вам скрывать от посторонн", "content_html": "<strong>Навеяло актуальными событиями</strong><br /><br />Если токен от АПИшки,<br />Ключ и ваш сертификат<br />Вам скрывать от посторонних<br />Совершенно ни к чему,<br />Отправляйте их не глядя<br />Прямо в чат с большой моделью.<br />Пусть другие программисты<br />Будут счастливы за вас.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-04-22T06:30:57+00:00"}, {"id": "https://t.me/c/1181264642/1923", "url": "https://t.me/c/1181264642/1923", "title": "В Apple выбрали нового CEO  😃 iOS Dev", "content_html": "<strong>В Apple выбрали нового CEO</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1923-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-21T07:54:30+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1923-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1921", "url": "https://t.me/c/1181264642/1921", "title": "⚡️Тим Кук уступит роль CEO в Apple - уходит эпоха   Только что Apple объявили, что новым гендиром ст", "content_html": "<strong>⚡️Тим Кук уступит роль CEO в Apple - уходит эпоха </strong><br /><br />Только что Apple объявили, что новым гендиром станет Джон Тернус (уже в сентябре этого года). Сейчас он занимает пост старшего вице-президента Apple по аппаратной разработке. <br /><br />📖 <a href=\"https://www.apple.com/community-letter-from-tim/\">Письмо Тима</a> на сайте Apple. Официальная новость <a href=\"https://www.apple.com/newsroom/2026/04/tim-cook-to-become-apple-executive-chairman-john-ternus-to-become-apple-ceo/\">здесь</a>.<br /><br />Ставьте 👍, если поддерживаете новое назначение или ❤️‍🔥, если хотели бы видеть Тима и дальше в роли CEO.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1921-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-20T20:58:54+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1921-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1920", "url": "https://t.me/c/1181264642/1920", "title": "Головоломка для сильных или почему сейчас золотое время для исследований  Когда-то давным-давно в да", "content_html": "<strong>Головоломка для сильных или почему сейчас золотое время для исследований<br /><br /></strong>Когда-то давным-давно <del>в далекой-далекой галактике…</del> наткнулся на интересную игру, в которой всего-то нужно было двигать ящики. На первый взгляд ничего сложного, но одна ошибка - и ты ошибся, как говорится.<br /><br />Но для неокрепшего ума, пытливо ищущего варианты, как решить очередной уровень - это было верхом графики и способом потратить любое ваше доступное время.<br /><br />Это уже сейчас понятно, что для решения можно использовать метод, который начинается <a href=\"https://liacs.leidenuniv.nl/~kosterswa/frank08.pdf\">с конечного состояния головоломки и идёт обратно к начальному</a> или вообще попытаться уложиться <a href=\"https://acm.timus.ru/problem.aspx?space=1&amp;num=1589\">в ограничения хард-задачи</a>.<br /><br />Как говорится, хорошо, что сейчас есть способы упростить ваши изыскания - и попробовать что-то новое буквально за одни выходные. <br /><br />Я сделал свой вариант в 3D - с классическими уровнями (и возможностью переключаться между камерами и режимами).<br /><br />А вы можете попробовать сделать свой подход решения <a href=\"https://ru.wikipedia.org/wiki/Sokoban\">классической игры от Хироюки Имабаяши</a> (или в целом посмотреть <a href=\"https://au-voleur.itch.io/microban-1\">на сотни уровней от Дэвида Скиннера</a>).<br /><br />Но можете просто скачать и попробовать сами: никакой рекламы, никаких внутренних покупок.<br /><br />Только вы (и немного свободного времени).<br /><br />🏠 <a href=\"https://apps.apple.com/us/app/sokoban-3d-offline-puzzle/id6762063708\"><strong>Sokoban 3D</strong></a> - если вы смелый, ловкий и умелый, попробуйте пройти хотя бы первые 10 уровней, никуда не подсматривая.<br /><br />И подписывайтесь - здесь будет очень много всего интересного.<br /><br />@AGINotToday<br /><strong>The video is too large.</strong>", "date_published": "2026-04-20T13:29:37+00:00"}, {"id": "https://t.me/c/1181264642/1919", "url": "https://t.me/c/1181264642/1919", "title": "Видел практику, что на хабре публикуют примеры интервью, в том числе по системному дизайну с использ", "content_html": "Видел практику, что на хабре публикуют примеры интервью, в том числе по системному дизайну с использованием ИИ кандидатом. А что вы думаете?", "date_published": "2026-04-17T08:36:48+00:00"}, {"id": "https://t.me/c/1181264642/1918", "url": "https://t.me/c/1181264642/1918", "title": "", "content_html": "<br /><img src=\"https://tg.davvie.com/static/-1001181264642--1918-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-16T11:32:13+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1918-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1917", "url": "https://t.me/c/1181264642/1917", "title": "Кто-то топит за чистоту кода и пилит по 5 файлов для одной кнопки, кто-то поддаётся хайпу, а в каких", "content_html": "Кто-то топит за чистоту кода и пилит по 5 файлов для одной кнопки, кто-то поддаётся хайпу, а в каких-то проектах до сих пор контроллер по пять тысяч строк. Так за кем же большинство?", "date_published": "2026-04-16T09:31:33+00:00"}, {"id": "https://t.me/c/1181264642/1916", "url": "https://t.me/c/1181264642/1916", "title": "Накрутчика разоблачают во время испытательного срока  😃 iOS Dev", "content_html": "Накрутчика разоблачают во время испытательного срока<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1916-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1916-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-04-14T10:31:21+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1916-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1915", "url": "https://t.me/c/1181264642/1915", "title": "Grace Rocky save stars!   Рад видеть, что действительно хороший фильм нашёл отклик у многих зрителей", "content_html": "<strong>Grace Rocky save stars! </strong><br /><br />Рад видеть, что <a href=\"https://t.me/iosdev/1901\">действительно хороший фильм</a> нашёл отклик у многих зрителей (и, что удивительно, на всех сайтах с оценками тоже), хотя в последние пару недель 100% небольшую лепту внесла и Артемида-2. <br /><br />Кстати, забавный факт, если вам понравилось кино, у того же писателя буквально есть ещё одно произведение с названием Артемида (и да, тоже про Луну, но не совсем про экспедицию).<br /><br />Делюсь ещё одним вариантом заставки для макоси на основе шейдера, в этот раз попробовал воссоздать ещё одну из самых запоминающихся сцен фильма.<br /><br />В этот раз попробовал воссоздать полёт и взгляд на астрофагов. Кстати, если захотите воспроизвести, можете чекнуть алгоритм:<br /><br /><blockquote>Представляем пространство как сетку, в каждой лупим 50% шанс одной частицы со своим seed.   <br />                                                                             <br />3 слоя глубины с разной фазой fract(layerPhase + t·speed).<br /><br />Перспектива: 1 + (1-depth)·drift·3 (нужно для того, чтобы сэмулировать растягивание сетки при приближении).  <br />                                                                                       <br />У каждой частицы своя жизнь: скорость, размер pow(h, sizePow), фаза. <br />                                                                                         <br />Радиус растёт по t², мягкий край запилил через стандартный smoothstep(r, r·softness, d)                                                                      <br />Ближе к камере цвет выбеливается: mix(color, white, t²).      <br />                                                                                                <br />При этом мы сканим соседей 3×3 вокруг текущей клетки, чтобы не промахать обрезку частиц по границам.    </blockquote><br /><br />Код, как обычно, тут:<strong> </strong><strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>На бусти</strong></a><strong> и </strong><strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>в телеграме</strong></a><strong>.</strong><br /><br />🔥 Накиньте лайков, если хотите сами файлы заставок, готовые к использованию)<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-04-14T08:49:25+00:00"}, {"id": "https://t.me/c/1181264642/1914", "url": "https://t.me/c/1181264642/1914", "title": "🍏Разработчики Wildberries &amp; Russ поделятся своим опытом работы с iOS  В программе три доклада о ", "content_html": "<strong>🍏Разработчики Wildberries &amp; Russ поделятся своим опытом работы с iOS</strong><br /><br />В программе три доклада о реальных кейсах:<br /><br /><strong>Автоматизация релизов в Wildberries</strong><br />Deploy Lab Team Lead Севастьян Жуков<br />расскажет, как команда создала инструмент для управления релизами с AppStore API. <br /><br /><strong>UI тестирование приложения Wildberries</strong><br />iOS TestLab Lead Руслан Колчаков и iOS TestLab Dev Валерий Карачаков представят распределённое тестирование на динамическом кластере и доработки Marathon. <br /><br /><strong>Работа с файловой системой на iOS</strong><br />Александр Игнатьев, iOS-разработчик команды Асто разберёт нюансы работы с Sandbox, папками и App Group.<br /><br />Митап пройдет 22 апреля в Москве и онлайн. Участие бесплатное - <a href=\"https://clck.ru/3T2KME\">регистрируйся</a><a href=\"https://doit.rwb.ru/pages/ios-meetup\">.</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1914-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-13T08:55:19+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1914-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1913", "url": "https://t.me/c/1181264642/1913", "title": "iOS-разработчик раскидывает промпты в терминале для своих агентов  😃 iOS Dev", "content_html": "iOS-разработчик раскидывает промпты в терминале для своих агентов<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1913-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1913-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-04-10T09:48:40+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1913-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1912", "url": "https://t.me/c/1181264642/1912", "title": "Как Swift работает с памятью: подробный гайд для разработчиков  Данила Горячкин — iOS-инженер из Per", "content_html": "<strong>Как Swift работает с памятью: подробный гайд для разработчиков</strong><br /><br />Данила Горячкин — iOS-инженер из Performance-тимы Авито написал две статьи для хабра, рассчитанных на middle- левел для разрабов, в которых рассмотрел довольно широкий пул понятий.<br /><br />📖 Например, <a href=\"https://habr.com/ru/companies/avito/articles/1017162/\">в первой части есть пример разбора</a>, как Swift управляет памятью:<br /><br /><blockquote>От базовых понятий вроде ARC,  Copy‑on‑Write, экзистенциальных контейнеров до нетипичных задач с «зомби»-объектами и non-frozen типами.</blockquote><br /><br />📖 <a href=\"https://habr.com/ru/companies/avito/articles/1017248/\">А во второй </a>уже больше про код, типовые задачи и ошибки.<br /><br />➡️ Много полезной инфы про утечки памяти в Swift: что с ними делать, <a href=\"https://t.me/iosdev/1711\">как предотвратить в этом посте</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1912-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-09T07:43:52+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1912-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1911", "url": "https://t.me/c/1181264642/1911", "title": "Swift Concurrency - разбор принципов работы на практических примерах  Никита Васильев на своём сайте", "content_html": "<strong>Swift Concurrency - разбор принципов работы на практических примерах<br /><br /></strong>Никита Васильев на своём сайте в течение года выпустил четыре масштабных блока и поделился советами по современному подходу Swift к асинхронному программированию.<br /><br />1️⃣ <a href=\"https://www.nsvasilev.com/posts/swift-concurrency-part-1/\">Swift Concurrency: Part 1</a><br /><br />Как работает Task, в чём разница между Task и Task.detached, а также про приоритеты.<br /><br />2️⃣ <a href=\"https://www.nsvasilev.com/posts/swift-concurrency-part-2/\">Swift Concurrency: Part 2</a><br /><br />Про автоматическую отмену, task groups и многое другое.<br /><br />3️⃣ <a href=\"https://www.nsvasilev.com/posts/swift-concurrency-part-3/\">Swift Concurrency: Part 3</a><br /><br />Что такое Swift Continuations: и как применять такой мост между устаревшими API на основе комплишн-хэндлеров и современным async/await.<br /><br />4️⃣ <a href=\"https://www.nsvasilev.com/posts/swift-concurrency-part-4/\">Swift Concurrency: Part 4</a><br /><br />Про акторы <code>@MainActor</code>, <code>@GlobalActor</code>, принципы работы Swift Concurrency в рантайме.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1911-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-08T08:12:44+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1911-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1910", "url": "https://t.me/c/1181264642/1910", "title": "🧭 Погружаемся в iOS вместе с Podlodka iOS Crew  Работа с iOS — это не только про красивый фронтенд. ", "content_html": "<strong>🧭 Погружаемся в iOS вместе с </strong><a href=\"https://podlodka.io/ioscrew?utm_campaign=early_bird_ios_crew_17&amp;utm_source=telegram&amp;utm_medium=paid&amp;utm_content=iosdev&amp;erid=2SDnjcGGhKp\"><strong>Podlodka iOS Crew</strong></a><br /><br />Работа с iOS — это не только про красивый фронтенд. <strong>С 13 по 17 апреля</strong> пройдет новый сезон Podlodka iOS Crew — <strong>«Фундаментальный iOS»</strong>. <br /><br />В этот раз организаторы планируют супер глубокое погружение в то, как устроена операционная система. <br /><strong><br />💡Участники конференции: </strong><br /><br /><strong>• погрузятся в детали Swift Generics </strong>и Swift Dictionary, <br /><br /><strong>• узнают, как создать свою ферму виртуальных iPhone </strong>с настоящей iOS,<br /><strong> <br />• разберут актуальные подходы работы с Meta</strong>l и Core Image, <br /><br /><strong>• погрузятся в то, как внедрить современные мультимодальные LLM </strong>в приложения для iPhone, используя аппаратные возможности устройств, <br /><br /><strong>• пройдут по процессу собеседования </strong>вместе с тимлидом платформенной команды. <br /><br /><strong>Всё это — в формате</strong> утренних и вечерних Zoom-сессий и общения с коллегами в закрытой группе Telegram. <br /><br />🧠Если вы хотите обновить свои знания о фундаментальных основах iOS и погрузиться в практику вместе с опытными экспертами, подключайтесь к Podlodka iOS Crew👇<br /><br />🔗 <a href=\"https://podlodka.io/ioscrew?utm_campaign=early_bird_ios_crew_17&amp;utm_source=telegram&amp;utm_medium=paid&amp;utm_content=iosdev&amp;erid=2SDnjcGGhKp\"><strong>Посмотреть программу и присоединиться</strong></a><br /><br />А по промокоду ios_crew_17_gdXUlO получите скидку🎁<br /><img src=\"https://tg.davvie.com/static/-1001181264642--1910-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-07T15:33:01+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1910-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1909", "url": "https://t.me/c/1181264642/1909", "title": "Олдскул-инженеры - нам не нужен ИИ, делаем все как раньше.   Тем временем 10X-инженеры - придумали ц", "content_html": "Олдскул-инженеры - нам не нужен ИИ, делаем все как раньше. <br /><br />Тем временем 10X-инженеры - <a href=\"https://x.com/blended_jpeg/status/2041108141266653325\">придумали цифровой кнут</a> для Claude.<br /><br />🛠 <a href=\"https://t.me/iosdev/1909?comment=4220\">Репа уже в комментах</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1909-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1909-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-04-06T18:22:44+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1909-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1908", "url": "https://t.me/c/1181264642/1908", "title": "Непопулярное мнение  Я считаю, что все подписки на чат-ботов или ИИ модели это формирование мягкой з", "content_html": "<strong>Непопулярное мнение</strong><br /><br />Я считаю, что все подписки на чат-ботов или ИИ модели это формирование мягкой зависимости.<br /><br />Та самая история, когда вам дают всю нужную функциональность, только пользуйся, друг.<br /><br />И вот проходит месяц, два, полгода - а потом ой, и начинают плавно раскатывать уже <strong>улучшенные</strong> модели. И стоят то они всего на чуть-чуть, на 5 долларов выше - а потом оказывается, что запросы лимитятся, а если хотите больше и быстрее - переходите на наш ультра/про/флагман подписку.<br /><br />И даже если у вас была самая крутая подписка, она становится прошлым поколением. Но появляется новая, лучше прошлой, ну вы поняли, бесконечная спираль, идущая вверх по увеличению цены. <br /><br />И потом появляются клубы таких же продаванов, которые в эпоху золотой лихорадки торгуют лопатами.<br /><br />Их цель - не научить вас новым паттернам, а скорее приобщить к тому, чтобы вы оставались на этом крючке, ждали более выгодных предложений, ещё более быстрых моделей, ещё больше токенов.<br /><br />И сначала вы пробуете, потом приобщаетесь, а потом уже правите сообщения в чатах или каналах, прогоняя через самый удобный чатбот. <br /><br />А кто-то пишет статьи на хабре в стиле: ой, да я просто поправил свои слова, чтобы было меньше ошибок. Или ой - я всего лишь поправил свой пуллреквест.<br /><br />Всего-то, ага, конечно. И начинается - однотипные задачи в жире, однотипные посты в каналах, одно и то же описание вакансий или резюме.<br /><br />Это снежный ком и есть ли из этого выход, к сожалению, я не знаю.<br /><br />Меня это так задолбало, вы не представляете. <br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-04-03T08:55:59+00:00"}, {"id": "https://t.me/c/1181264642/1907", "url": "https://t.me/c/1181264642/1907", "title": "Жизненный цикл SwiftUI View: когда на самом деле срабатывает onAppear  За время существования SwiftU", "content_html": "<strong>Жизненный цикл SwiftUI View: когда на самом деле срабатывает onAppear</strong><br /><br />За время существования SwiftUI у onAppear были поистине непредсказуемые моменты: от срабатывания дважды или срабатывания в неожиданном порядке, до срабатывания не тогда, когда это должно быть. <br /><br />Для API, от которого зависит каждое приложение, это проблема.<br /><br />📖 <a href=\"https://www.swiftyplace.com/blog/swiftui-view-lifecycle-onappear\">Карин Пратер в этой статье</a> попробовала рассмотреть эту проблему на практике с разных углов и рассказала, какие неожиданные истории могут случиться при использовании TabView.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1907-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-02T11:26:10+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1907-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1906", "url": "https://t.me/c/1181264642/1906", "title": "🚀 Школа мобильной разработки Яндекса: прокачайся от знаний к реальным проектам  Обучение в Школе вкл", "content_html": "🚀 <strong>Школа мобильной разработки Яндекса</strong>: прокачайся от знаний к реальным проектам<br /><br />Обучение в Школе включает теорию и практику: оба этапа проходят очно в московских офисах Яндекса. Доступно два трека: <br /><br /><strong>iOS‑трек</strong><br />Погрузитесь в Swift на продвинутом уровне, научитесь строить современный UI, обеспечивать качество кода и работать с архитектурой приложений, многопоточностью и CI/CD.<br /><br /><strong>Android‑трек</strong><br />Поработайте с Jetpack Compose, разберётесь в основах многопоточности и познакомитесь с современным подходом к работе через KotlinX Coroutines.<br /><br />Что ещё в программе?<br /><br />• Интеграция AI в разработку.<br />• Факультативы по Flutter.<br />• Лекции по алгоритмам и UI.<br /><br />Учись работать с настоящими бизнес-задачами — <a href=\"https://yandex.ru/yaintern/schools/mobile/?utm_source=telegram&amp;utm_medium=social&amp;utm_campaign=sschool26&amp;utm_term=iosdev/?erid=2SDnjd1CTPo\">оставляй заявку</a>.<br /><img src=\"https://tg.davvie.com/static/-1001181264642--1906-0.jpg\" alt=\"media\"/>", "date_published": "2026-04-01T16:04:46+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1906-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1905", "url": "https://t.me/c/1181264642/1905", "title": "Не смешно.", "content_html": "Не смешно.", "date_published": "2026-04-01T07:23:45+00:00"}, {"id": "https://t.me/c/1181264642/1904", "url": "https://t.me/c/1181264642/1904", "title": "⚡️ Инсайд: в новой iOS 26.5 появится Экстренный режим «Хамелеон»  Разработчики Apple пошли навстречу", "content_html": "<strong>⚡️ Инсайд: в новой iOS 26.5 появится Экстренный режим «Хамелеон»</strong><br /><br />Разработчики Apple пошли навстречу пользователям ру-региона и представили революционную функцию при внезапной просьбе любых людей «разблокировать телефон» на улице или в метро.<br /><br />Функция <strong>срабатывает автоматически</strong>. Если гироскоп фиксирует у вас легкое дрожание рук, а Apple Watch передают резкое учащение пульса, iPhone незаметно переходит в этот режим.<br /><br />Из уже известных фич:<br /><br />🔘 Ваша история в Safari и Chrome удаляется, а вместо неё появляются запросы: как установить Max, где купить гранту на вторичке и как настроить Яндекс.Алису на круглосуточный мониторинг.<br /><br />🔘 В Apple Music активируется приятный уху режим с новыми треками Шамана.<br /><br />🔘 Ваш банковский баланс автоматически очищается в пользу более правильных организаций.<br /><br />🔘 Вместо ваших обоев ставится приятный пейзаж с берёзами.<br /><br />И, что самое приятное, этот режим абсолютно бесплатен!<br /><br />Другие новости о профсоюзе разработчиков <a href=\"https://t.me/iosdev/820\">можно почитать здесь</a>.<br /><br />📖 Все подробности <a href=\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\">о новом режиме тут</a> (с 1 апреля)<a href=\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\">.</a><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-04-01T06:11:50+00:00"}, {"id": "https://t.me/c/1181264642/1903", "url": "https://t.me/c/1181264642/1903", "title": "Крутая заставка по мотивам Hail Mary для MacOS на Metal+SwiftUI  Мне давно хотелось посмотреть что п", "content_html": "<strong>Крутая заставка по мотивам Hail Mary для MacOS на Metal+SwiftUI</strong><br /><br />Мне давно хотелось посмотреть что под капотом вот этих заставок, которые 100% видел каждый.<br /><br />Как оказалось, есть специальный <strong>таргет</strong> в оси, который до сих пор генерит h+m файлы по дефолту (хотя и без проблем эту шляпу можно дропнуть и впилить нормальный код на Swift).<br /><br />Я даже нашел какой-то древний репозиторий, в котором кто-то сделал <a href=\"https://github.com/briantracy/DVDScreenSaver\">ту самую заставку с dvd</a> (а вот тут есть более <a href=\"https://digitalbunker.dev/dvd-screensaver-swiftui/\">свежий вариант</a>).<br /><br />Пришлось побороться с передачей нашей вьюхи с шейдером, но в итоге все оказалось проще, а ещё кстати можно даже прокидывать возможность менять настройки наружу для юзера.<br /><br />Сам алгоритм шейдера довольно понятный:<br /><blockquote>Чтобы получить корректный эффект полос со сгустками света, режем экран на полосы. На этой основе каждая линия получает свою случайную скорость, случайный цвет и стартовую позицию (фазу). Они становятся независимыми! <br /><br />А чтобы получить сами кусочки света, мы берём синусоиду времени и возводим ее в высокую степень: pow(sin(...), 8.0). <br /><br />Это чуть плющит график волны: большую часть времени линия просто слегка светится, но на пике происходит резкая, яркая вспышка.</blockquote><br /><br />Ну и я ещё добавил пару вариантов для красоты, как бы видел Роки наш шейдер (только без аудио отражений волн), но палитру сохранил.<br /><br />В комментах добавил, как выглядит экран настроек.<br /><br /><strong>Код шейдера, все примеры и многое другое: </strong><strong>💰</strong><strong> </strong><a href=\"https://boosty.to/ios_dev/purchase/2494996?ssource=DIRECT&amp;share=subscription_link\"><strong>На бусти</strong></a><strong> и </strong><strong>⭐️</strong><strong> </strong><a href=\"https://t.me/tribute/app?startapp=s6SN\"><strong>в телеграме</strong></a><strong>.</strong><br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1903-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1903-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-03-31T08:06:33+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1903-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1902", "url": "https://t.me/c/1181264642/1902", "title": "⚡️ РБК: власти РФ потребовали от операторов запретить оплату сервисов Apple со счета мобильного теле", "content_html": "⚡️ <strong>РБК: власти РФ потребовали от операторов запретить оплату сервисов Apple со счета мобильного телефона</strong><br /><br />По словам одного из собеседников, в качестве причины операторам указали в том числе на необходимость <a href=\"https://www.rbc.ru/technology_and_media/30/03/2026/69c913a59a7947e96157b311?from=main_lines_1#:~:text=%D0%9F%D0%BE%20%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D0%BC%20%D0%BE%D0\">препятствовать оплате VPN-сервисов.</a><br /><br />Специально для этой новости добавил пару реакций, чтобы собрать более справедливю обратную связь. Используйте их, чтобы выразить своё отношение.<br /><br />В комментариях <a href=\"https://t.me/iosdevschat/4088\">задали интересный вопрос</a>: как теперь оплачивать аккаунт разработчика? Будет здорово, если поделитесь советом.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a>", "date_published": "2026-03-30T11:49:56+00:00"}, {"id": "https://t.me/c/1181264642/1901", "url": "https://t.me/c/1181264642/1901", "title": "Project Hail Mary - чудесный символ того, что не все безнадёжно  Не знаю как вам, а последние нескол", "content_html": "<strong>Project Hail Mary - чудесный символ того, что не все безнадёжно</strong><br /><br />Не знаю как вам, а последние несколько лет мне довольно непросто воспринимать окружающие события ещё с эпохи короны. Как будто пелена, покрывшая нашу реальность, стягивает как туман Сайлент Хилл, и поди разбери что там дальше. <br /><br />Но иногда маячит то, что впереди не бесконечное серое пространство, но и кое что ещё. <br /><br />Если вы искали, что бы посмотреть на выходных (а ещё лучше - почитать), то попробую порекомендовать вам одно из произведений Энди Вейера (книги которого можно сосчитать по пальцам одной руки, буквально).<br /><br />Визуальный шедевр Фила Лорда и Кристофера Миллера просто шикарная иллюстрация подхода к адаптации сложного sci-fi в эпоху повального использования гринскрина для чего угодно. Эти же ребята воссоздали не только декорации, но и творчески подошли к использованию инструментов внутри.<br /><br />Когда кажется, что все складывается паршиво для планеты, даже при самой ужасной вероятности маячит надежда. Возможно, а скорее факт - что это лучшая роль Гослинга (даже с поправкой на вторую часть бегущего по лезвию или Драйв, <del>в котором да не умер он в конце</del>).<br /><br />Это пример того, как резко стираются рамки между государствами, политикой, противоречиями, финансами, даже языками - всеми сферами. И на первый план выходит сотрудничество между непримиримыми соперниками.<br /><br />Российские подвиги (не меньше) в космосе и исследованиях в целом десятки лет служат путеводной звездой для развития самых разных процессов. Спросите кого угодно: Маска с его SpaceX, учёных NASA, любых исследователей - и в фильме (и оригинальной книге) это подтверждается многократно.<br /><br />Этот фильм куда больше, чем рядовое бади-муви или даже ET с прекрасным персонажем. <br /><br />Произведение не о том, как быть, а скорее - о том, что делать. О том, что называется, вопреки. О надежде.<br /><br />В конце-концов, только это и остаётся.<br /><br />P.S. Я очень <a href=\"https://t.me/iosdev/1705\">люблю кино</a>, и Project Hail Mary (и мне более привычно так, а не очередная локализация в нашем прокате) хороший пример, что в киноиндустрии ещё могут показывать, а не просто следовать мантре - добавь то, то и это, чтобы опять получился банальный коктейль из рекламы и мыла.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1901-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-27T11:01:47+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1901-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1900", "url": "https://t.me/c/1181264642/1900", "title": "Алгоритмы Swift для работы с коллекциями и последовательностями, которые можно использовать в ваших ", "content_html": "<strong>Алгоритмы Swift для работы с коллекциями и последовательностями, которые можно использовать в ваших проектах</strong><br /><br />Стандартная библиотека Swift уже предоставляет нам мощные примитивы для работы с коллекциями. <br /><br />Но автор следующей статьи отмечает, что многие разработчики по-прежнему используют вложенные циклы, временные буферы и вычисления по индексам, которые сложнее читать и в которых легко допустить ошибку. И здесь на помощь может прийти опенсорсный <a href=\"https://github.com/apple/swift-algorithms\">swift-algorithms</a>.<br /><br />📖 <a href=\"https://www.sagarunagar.com/blog/swift-algorithms-complete-guide/\">В этом материале</a> можно чекнуть практически примеры применения алгоритмов для работы с перестановками, циклами, рандомными выборками и многим другим.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1900-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-27T09:44:22+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1900-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1898", "url": "https://t.me/c/1181264642/1898", "title": "🎉 В Xcode 26.4 спустя тысячу лет появились направляющие области видимости!  Настраивается в Settings", "content_html": "<strong>🎉 В Xcode 26.4 спустя тысячу лет появились направляющие области видимости!</strong><br /><br />Настраивается в Settings-&gt;Display-&gt;Scope Guides.<br /><br />Теперь и WWDC не нужен уже.<br /><br />И только попробуйте не поставить лайк 🐾<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1898-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-25T11:44:30+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1898-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1897", "url": "https://t.me/c/1181264642/1897", "title": "Новый App Store Connect уже доступен: обновили аналитику, статистику и сотню метрик  Теперь можно по", "content_html": "<strong>Новый App Store Connect уже доступен: обновили аналитику, статистику и сотню метрик</strong><br /><br />Теперь можно получить доступ к более чем 100 новым параметрам, анализировать данные о плательщиках и подписках, использовать улучшенные возможности фильтрации и сравнивать свою эффективность с новыми показателями монетизации. <br /><br />➡️ Узнать больше можно <a href=\"https://developer.apple.com/app-store-connect/analytics/\">тут</a>, поделиться обратной связью <a href=\"https://developer.apple.com/contact/topic/SC1105/subtopic/30036/solution/CONTACT.EML.GEN/details\">здесь</a>.<br /><br />Стандартные панели отчётов <strong>будут задепрекейчены уже в середине этого года</strong>. А новые отчёты в трендах перестанут генерировать в 2027 году.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1897-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-25T06:56:09+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1897-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1896", "url": "https://t.me/c/1181264642/1896", "title": "Нейрослоп отменяется  Месяц-два назад все выпрашивали инвайты в Sora, говоря что за этим будущее, чт", "content_html": "<strong>Нейрослоп отменяется<br /><br /></strong>Месяц-два назад все выпрашивали инвайты в Sora, говоря что за этим будущее, что традиционные соцсети погибнут и что пора создавать контент только там.<br /><br />Что ж, только что OpenAI <a href=\"https://x.com/soraofficialapp/status/2036532795984715896\">сообщили</a>, что они закрывают сору и сосредоточатся на других продуктах.<br /><br />Надеюсь, Apple тоже будет жестче фильтровать поток, которым сейчас забивают стор.<br /><br />Вынесли сор из избы, получается.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1896-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-24T20:45:46+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1896-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1895", "url": "https://t.me/c/1181264642/1895", "title": "Отображение процесса синхронизации SwiftData с iCloud   На первый взгляд кажется, что такая опция до", "content_html": "<strong>Отображение процесса синхронизации SwiftData с iCloud </strong><br /><br />На первый взгляд кажется, что такая опция должна быть доступна из коробки. <br /><br />Но Азам в своем блоге уже пробовал искать API, который бы сообщал о начале, завершении или сбое синхронизации, и такой возможности просто-напросто не оказалось.<br /><br />На примере реализации таск-трекера можно посмотреть, как воссоздать такой механизм отображения и какие сложности могут возникнуть в процессе.<br /><br />📖 Почитать об этом подходе <a href=\"https://azamsharp.com/2026/03/16/swiftdata-icloud-sync-status.html\">можно здесь</a>.<br /><br />🛠 А на пример реализации можно посмотреть <a href=\"https://gist.github.com/azamsharpschool/f66500e4d6df195802ae9f422ef157bc\">в этом репозитории</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><strong>The video is too large.</strong>", "date_published": "2026-03-24T11:41:47+00:00"}, {"id": "https://t.me/c/1181264642/1894", "url": "https://t.me/c/1181264642/1894", "title": "🗓 WWDC26 пройдет с 8 по 12 июня  Какие нововведения ждёте больше всего? Может быть, новый фреймворк ", "content_html": "🗓 <strong>WWDC26 пройдет с 8 по 12 июня</strong><br /><br />Какие нововведения ждёте больше всего? Может быть, <a href=\"https://t.me/iosdev/1876\">новый</a> фреймворк или <a href=\"https://t.me/iosdev/820\">очередное превращение шутки</a> в реальность?<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1894-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-23T18:07:26+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1894-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1893", "url": "https://t.me/c/1181264642/1893", "title": "Анимация разворачивания контента в SwiftUI  Не всегда стандартные элементы в iOS выполняют свою функ", "content_html": "<strong>Анимация разворачивания контента в SwiftUI<br /><br /></strong>Не всегда стандартные элементы в iOS выполняют свою функцию так, как нужно, и периодически это относится даже к анимациям.<br /><br />Делюсь занятным подходом к реализации компонента для раскрытия (под капотом GeometryReader и протокол Animatable).<br /><br />📖 <a href=\"https://nerdyak.tech/development/2026/03/16/expand-animation-in-SwiftUI-List.html\">Почитать статью можно здесь</a>.<br /><br />😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><video controls poster=\"https://tg.davvie.com/static/-1001181264642--1893-0.mp4\" style=\"max-width:100%;\"><source src=\"https://tg.davvie.com/static/-1001181264642--1893-0.mp4\" type=\"video/mp4\">Your browser does not support the video tag.</video>", "date_published": "2026-03-23T13:02:06+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1893-0.mp4", "mime_type": "video/mp4"}]}, {"id": "https://t.me/c/1181264642/1892", "url": "https://t.me/c/1181264642/1892", "title": "😃 iOS Dev", "content_html": "😃 <a href=\"https://t.me/+ajof-VO5Sr5kNDMy\">iOS Dev</a><br /><img src=\"https://tg.davvie.com/static/-1001181264642--1892-0.jpg\" alt=\"media\"/>", "date_published": "2026-03-20T12:02:44+00:00", "attachments": [{"url": "https://tg.davvie.com/static/-1001181264642--1892-0.jpg", "mime_type": "image/jpeg"}]}, {"id": "https://t.me/c/1181264642/1891", "url": "https://t.me/c/1181264642/1891", "title": "", "content_html": "", "date_published": "2026-03-19T09:14:33+00:00"}], "icon": "https://tg.davvie.com/static/avatars/ios-dev.jpg"}