Package Traits в Xcode
В Xcode 26.4 появилась долгожданная поддержка package traits. Это фича SwiftPM пакетов, с помощью которой авторы библиотек могут добавлять разные опции конфигурации их пакета, а пользователи на стороне приложения их применять. Например, если какая-то отдельная фича библиотеки, нужная только части пользователей, требует импортов сторонних пакетов, то можно легко сделать ее отключаемой.
В Xcode 26.4 появилась долгожданная поддержка package traits. Это фича SwiftPM пакетов, с помощью которой авторы библиотек могут добавлять разные опции конфигурации их пакета, а пользователи на стороне приложения их применять. Например, если какая-то отдельная фича библиотеки, нужная только части пользователей, требует импортов сторонних пакетов, то можно легко сделать ее отключаемой.
massicotte.org
Package Traits in Xcode
At long last, package traits are now supported in Xcode and I think it's a big deal.
🔥46👍8❤1💅1
Переезд с UDF на Clean Architecture
Насколько же давно у нас на канале не было статей про архитектуру iOS приложений! Я аж вспомнил золотую эпоху VIPER и всплакнул.
В этой статье inDriver рассказывает про недостатки того, как у них в приложении была реализована UDF, и как вместо этого они заадоптили свою вариацию Clean Architecture.
Насколько же давно у нас на канале не было статей про архитектуру iOS приложений! Я аж вспомнил золотую эпоху VIPER и всплакнул.
В этой статье inDriver рассказывает про недостатки того, как у них в приложении была реализована UDF, и как вместо этого они заадоптили свою вариацию Clean Architecture.
Medium
Unidirectional Data Flow Architecture
Why We Replaced It with Clean Architecture at inDrive
6👎35👍30
Расширения для Codex
У десктопного приложения Codex появился неофициальный механизм расширений – вы патчите бинарник, а затем устанавливаете твики. Самый интересный из них добавляет симулятор прямо в окно Codex.
У десктопного приложения Codex появился неофициальный механизм расширений – вы патчите бинарник, а затем устанавливаете твики. Самый интересный из них добавляет симулятор прямо в окно Codex.
👍38🔥9❤5💅4👎1
Программируем роботов на Swift
IndustrialKit – новая библиотека с примитивами, которые позволяют программировать отдельные манипуляторы и целые линии производства с ними. Самое время прикупить десяток роборук и поиграть в Factorio в реальной жизни!
IndustrialKit – новая библиотека с примитивами, которые позволяют программировать отдельные манипуляторы и целые линии производства с ними. Самое время прикупить десяток роборук и поиграть в Factorio в реальной жизни!
GitHub
GitHub - MalkarovPark/IndustrialKit: The open source framework for creating applications that enable the design and control of…
The open source framework for creating applications that enable the design and control of automated means of production. - MalkarovPark/IndustrialKit
🔥24👍5👎1
Новый тип подписок в App Store
Apple выкатили новый тип платных подписок – годовые, но с оплатой, разбитой по месяцам. В Твиттере говорят, что с ними нужно быть аккуратными. Чаще всего обычные годовые подписки больше всего драйвят доход, и уводить с них не имеет смысла.
Apple выкатили новый тип платных подписок – годовые, но с оплатой, разбитой по месяцам. В Твиттере говорят, что с ними нужно быть аккуратными. Чаще всего обычные годовые подписки больше всего драйвят доход, и уводить с них не имеет смысла.
9to5Mac
Apple introduces monthly subscriptions with a 12-month commitment on the App Store - 9to5Mac
Developers can now set up and test monthly subscriptions with a 12-month commitment on the App Store, ahead of the public rollout nex month.
❤3💅2🔥1
Каталог Swift Playgrounds
Swift Playgrounds скорее мертвы, чем живы – но если вы хотите немного поиграть с ними, то вот каталог примеров от сообщества разной степени сложности.
Swift Playgrounds скорее мертвы, чем живы – но если вы хотите немного поиграть с ними, то вот каталог примеров от сообщества разной степени сложности.
❤12👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Шесть лет эволюции приложения карт на watchOS
David Smith – возможно, самый опытный разработчик под watchOS, написал классную ретроспективу про то, как он в течение шесть лет постепенно эволюционировал дизайн своего приложения с картами, и как он постепенно пришел к своей идеальной форме.
David Smith – возможно, самый опытный разработчик под watchOS, написал классную ретроспективу про то, как он в течение шесть лет постепенно эволюционировал дизайн своего приложения с картами, и как он постепенно пришел к своей идеальной форме.
👍17🔥8❤2
Миграция 97 тысяч строк ObjC на Swift
Яндекс Браузер с помощью LLM автоматизировали миграцию с ObjC на Swift, и поделились своим процессом и, главное, переиспользуемыми промптами – их можно посмотреть на GitHub.
Яндекс Браузер с помощью LLM автоматизировали миграцию с ObjC на Swift, и поделились своим процессом и, главное, переиспользуемыми промптами – их можно посмотреть на GitHub.
Хабр
За два месяца вместо года: как мы переписали 97 тысяч строк кода с Objective-C на Swift
Миграция большого iOS-проекта с Objective-C на Swift кажется понятной задачей ровно до тех пор, пока не начинаешь считать объём. В нашем случае это были 10 тысяч файлов, сотни тысяч строк кода и...
👎57👍11💅7🔥5❤1
Про сложности заработка на пет-проекте
Наверное каждый мобильный разработчик когда-то задумывался про то, чтобы вырваться из корпоративного рабства, и начать красить кнопки уже чисто для души, делая классные приложения, и зарабатывая на этом $5-10-15k MRR или даже больше.
Но в реальности все не так классно – 80% сил уходит не на приятное написание кода, а на маркетинг, самые интересные вам идеи на самом деле никому не нужны, а менталочка находится на эмоциональных качелях.
Наверное каждый мобильный разработчик когда-то задумывался про то, чтобы вырваться из корпоративного рабства, и начать красить кнопки уже чисто для души, делая классные приложения, и зарабатывая на этом $5-10-15k MRR или даже больше.
Но в реальности все не так классно – 80% сил уходит не на приятное написание кода, а на маркетинг, самые интересные вам идеи на самом деле никому не нужны, а менталочка находится на эмоциональных качелях.
Хабр
Сейчас сделаю приложение и заработаю на нем. АХАХАХАХАХ, удачи
За полгода я сделал мобильное приложение, получил 2000 установок и… 8 платных подписок по $6. Причем одна из подписок — моя. При этом у меня есть основная работа. То...
👎19💅11👍3❤2
Закрываем луп в iOS
Чем больше всего ваш агент может проверять самостоятельно, тем меньше вам придется вмешиваться в его работу. Вот несколько идей:
👉Чтобы агент мог быстрее итерировать вокруг отдельных SwiftUI компонентов, используйте библиотеку Playbook, аналог известного в веб разработке Storybook.
👉Для тестирования полной логики приложения, включая навигацию, поддержите возможность запускать его с любого экрана через кастомные схемы запуска с моками.
👉Обязательно дайте агенту доступ к логам и аутпуту xcodebuild.
Чем больше всего ваш агент может проверять самостоятельно, тем меньше вам придется вмешиваться в его работу. Вот несколько идей:
👉Чтобы агент мог быстрее итерировать вокруг отдельных SwiftUI компонентов, используйте библиотеку Playbook, аналог известного в веб разработке Storybook.
👉Для тестирования полной логики приложения, включая навигацию, поддержите возможность запускать его с любого экрана через кастомные схемы запуска с моками.
👉Обязательно дайте агенту доступ к логам и аутпуту xcodebuild.
nadol.dev
Closing the loop on iOS
What it takes to make an iOS agent verify its own work in the running app, instead of trusting a green test suite.
👍15👎9
🧠 Мышление — наш главный навык. Качаем с Podlodka Soft Skills Crew
Хотите лучше понимать, как вообще сейчас думать, принимать решения и не теряться в эпоху ИИ?
Тогда вам в новый сезон Podlodka Soft Skills Crew — «Мышление как навык», который пройдёт 25–29 мая.
Организаторы конференции собрали очень сильную команду: IT-лидеры, авторы научпоп-книг, преподаватели и практики из индустрии. Будет и база про то, как работает мышление, и прикладные инструменты, которые можно использовать в работе сразу.
Полная программа — на сайте, а на эти сессии советуем обратить особенное внимание:
💡 Сергей Попов, директор продукта «Подбор» в Skillaz, расскажет про навыки, которые начинают дорожать в эпоху агентного AI, и новую роль специалиста.
🛠 Дарья Варламова, коуч, лауреат премии «Просветитель», проведет мастер-класс про мышление в условиях тревоги, неопределённости и потери контроля.
🧠 Тарас Пащенко, кандидат наук, главный эксперт Института образования НИУ ВШЭ, расскажет про то, почему даже рациональные люди ошибаются и как мышление ломается под нагрузкой.
🌱И это далеко не всё — в программе ещё много сильного контента.
Сейчас действует минимальная цена участия, так что это хороший момент, чтобы присоединиться к конференции и сообществу людей, которым важно глубже понимать происходящее и лучше думать.
✨ За билетом
Хотите лучше понимать, как вообще сейчас думать, принимать решения и не теряться в эпоху ИИ?
Тогда вам в новый сезон Podlodka Soft Skills Crew — «Мышление как навык», который пройдёт 25–29 мая.
Организаторы конференции собрали очень сильную команду: IT-лидеры, авторы научпоп-книг, преподаватели и практики из индустрии. Будет и база про то, как работает мышление, и прикладные инструменты, которые можно использовать в работе сразу.
Полная программа — на сайте, а на эти сессии советуем обратить особенное внимание:
💡 Сергей Попов, директор продукта «Подбор» в Skillaz, расскажет про навыки, которые начинают дорожать в эпоху агентного AI, и новую роль специалиста.
🛠 Дарья Варламова, коуч, лауреат премии «Просветитель», проведет мастер-класс про мышление в условиях тревоги, неопределённости и потери контроля.
🧠 Тарас Пащенко, кандидат наук, главный эксперт Института образования НИУ ВШЭ, расскажет про то, почему даже рациональные люди ошибаются и как мышление ломается под нагрузкой.
🌱И это далеко не всё — в программе ещё много сильного контента.
Сейчас действует минимальная цена участия, так что это хороший момент, чтобы присоединиться к конференции и сообществу людей, которым важно глубже понимать происходящее и лучше думать.
✨ За билетом
👎10❤3👍3💅1
App Explorer – генератор карты экранов
App Explorer – CLI тул вокруг Claude Code, который делает следующее:
👉Открывает на клаудном устройстве ваше приложение и протыкивает там все интерактивные элементы.
👉Каждый экран скриншотится.
👉Генерируется отчет с картой всех переходов.
App Explorer – CLI тул вокруг Claude Code, который делает следующее:
👉Открывает на клаудном устройстве ваше приложение и протыкивает там все интерактивные элементы.
👉Каждый экран скриншотится.
👉Генерируется отчет с картой всех переходов.
GitHub
GitHub - RevylAI/app-explorer: Map every screen and user path in a mobile app — interactive navigation maps with screenshots
Map every screen and user path in a mobile app — interactive navigation maps with screenshots - RevylAI/app-explorer
👍27💅3👎1
DebugSwift – набор хелперов для дебага
DebugSwift – пакет с кучей разных фичей, облегчающих разные аспекты дебага. Из интересного – инспектор HTTP и WebSocket запросов с возможностью их модификации, оверлей с перфомансными метриками, трекинг ре-рендеринга SwiftUI.
DebugSwift – пакет с кучей разных фичей, облегчающих разные аспекты дебага. Из интересного – инспектор HTTP и WebSocket запросов с возможностью их модификации, оверлей с перфомансными метриками, трекинг ре-рендеринга SwiftUI.
GitHub
GitHub - DebugSwift/DebugSwift: A toolkit to make debugging iOS applications easier 🚀
A toolkit to make debugging iOS applications easier 🚀 - DebugSwift/DebugSwift
👍24🔥4💅3❤1
Мобильная разработка сейчас — это не только про стандартные стеки iOS, Android и кроссплатформу, но и про AI. 7 июня на Mobile Runtime от Яндекса обсудим, как меняется стек и требования к инженерам.
🔸 AI-трек:
Разбираемся с «галлюцинациями» агентов в больших проектах. На воркшопе по ast-index научим агентов понимать структуру кода вместо того, чтобы заставлять их читать сотни файлов через grep. Плюс круглый стол с Сергеем Кольцовым (Яндекс), Михаилом Буравлевым (Яндекс) и Дмитрием Мовчаном (Одноклассники) о том, какие навыки реально станут критичными в новой AI-реальности.
🔸 Not so AI трек:
Классика и хардкор. Разбор медиаленты Яндекс Еды: от архитектурных паттернов до борьбы с утечками памяти и оптимизации FPS. Также обсудим карьеру: Эдуард Оболенский (Яндекс), Артур Василов (Яндекс Браузер), Василий Усов (Райффайзенбанк) и Вероника Макаровская (Сбер) поговорят о T-Shape подходе и о том, куда расти мобильному инженеру в условиях неопределенности.
Встречаемся 7 июня поговорить про скорость, BDUI, натив и то, как нам со всем этим жить дальше.
Регистрация
🔸 AI-трек:
Разбираемся с «галлюцинациями» агентов в больших проектах. На воркшопе по ast-index научим агентов понимать структуру кода вместо того, чтобы заставлять их читать сотни файлов через grep. Плюс круглый стол с Сергеем Кольцовым (Яндекс), Михаилом Буравлевым (Яндекс) и Дмитрием Мовчаном (Одноклассники) о том, какие навыки реально станут критичными в новой AI-реальности.
🔸 Not so AI трек:
Классика и хардкор. Разбор медиаленты Яндекс Еды: от архитектурных паттернов до борьбы с утечками памяти и оптимизации FPS. Также обсудим карьеру: Эдуард Оболенский (Яндекс), Артур Василов (Яндекс Браузер), Василий Усов (Райффайзенбанк) и Вероника Макаровская (Сбер) поговорят о T-Shape подходе и о том, куда расти мобильному инженеру в условиях неопределенности.
Встречаемся 7 июня поговорить про скорость, BDUI, натив и то, как нам со всем этим жить дальше.
Регистрация
👎33💅5❤3👍3
Вышла стабильная версия Cupertino
В январе я уже делился с вами ссылкой на Cupertino – MCP сервер, который отдает всю информацию из доков Apple как контекст вашему агенту. Вышла его стабильная версия. Главное изменение – поиск стал выдавать гораздо более точные результаты. В статье довольно много деталей про то, как перерабатывали алгоритмы поиска и ранжирования, советую почитать!
В январе я уже делился с вами ссылкой на Cupertino – MCP сервер, который отдает всю информацию из доков Apple как контекст вашему агенту. Вышла его стабильная версия. Главное изменение – поиск стал выдавать гораздо более точные результаты. В статье довольно много деталей про то, как перерабатывали алгоритмы поиска и ранжирования, советую почитать!
Aleahim.com
Cupertino v1.0.0 "First Light"
First release stable across crawl, index, rank, serve, and distribute. Search that finally returns the right answer, one bundle, MCP spec 2025-11-25.
💅32
Делаем спиннер в Claude Code более айосерским
Если вы пользовались Claude Code, то видели его спиннер – набор фраз, которые отображаются, пока он выполняет работу. Так вот, их можно кастомизировать и заменять на свои! Держите подборку айосных фраз, чтобы чувствовать себя как дома.
Если вы пользовались Claude Code, то видели его спиннер – набор фраз, которые отображаются, пока он выполняет работу. Так вот, их можно кастомизировать и заменять на свои! Держите подборку айосных фраз, чтобы чувствовать себя как дома.
GitHub
GitHub - artemnovichkov/vibe-spinner: 104 English dev meme phrases for Claude Code spinner
104 English dev meme phrases for Claude Code spinner - artemnovichkov/vibe-spinner
1👎37👍6💅4❤1
Как написать Epub читалку
Статья про то, почему WKWebView может быть недостаточно для того, чтобы рендерить epub-файлы, и в каких случаях кастомный рендеринг движок будет работать лучше.
Статья про то, почему WKWebView может быть недостаточно для того, чтобы рендерить epub-файлы, и в каких случаях кастомный рендеринг движок будет работать лучше.
chang-jui-lin.github.io
From WebView to CoreText: Building a Native EPUB Reader for iOS | Yuedu Reader Engineering
How CJK vertical writing pushed Yuedu Reader away from WebView and toward a custom CoreText rendering engine.
🔥8👍1💅1
RocketSim CLI для автоматизации симулятора
Для RocketSim, оболочки над iOS симулятором с кучей дополнительных фичей, сделали CLI, который можно дать в руки агентам. В результате тратится заметно меньше токенов, а тапы становятся более точными.
Примеры промптов:
Для RocketSim, оболочки над iOS симулятором с кучей дополнительных фичей, сделали CLI, который можно дать в руки агентам. В результате тратится заметно меньше токенов, а тапы становятся более точными.
Примеры промптов:
Use /rocketsim to open Settings and navigate to General.
Use /rocketsim to launch my app and complete the onboarding flow.
Use /rocketsim to test the login flow with user@example.com and verify that the home screen appears.
Use /rocketsim to open this deep link and confirm the correct screen is shown.
SwiftLee
AI-Powered Xcode Simulator Automation (token-efficient)
Explore Xcode Simulator Automation for efficient app development using AI-powered agents and optimized CLI solutions.
👍29🔥10❤7👎4
Новые фичи accessibility
Как водится, первыми обновлениями новой версии iOS, про которые мы узнаем, становятся новые фичи accessibility:
👉VoiceOver и Magnifier теперь используют Apple Intelligence, чтобы генерировать детальное описание того, что они видят.
👉Voice Control теперь понимает естественный язык, и можно описывать все действия примерно, без указания конкретных названий элементов.
👉К любым видео автоматически генерируются субтитры.
Приз за самую бесполезную фичу уходит поддержке Vehicle Motion Cues на visionOS – представили себе толпы людей, которые носят Vision Pro в автомобиле? Вот и я нет.
Как водится, первыми обновлениями новой версии iOS, про которые мы узнаем, становятся новые фичи accessibility:
👉VoiceOver и Magnifier теперь используют Apple Intelligence, чтобы генерировать детальное описание того, что они видят.
👉Voice Control теперь понимает естественный язык, и можно описывать все действия примерно, без указания конкретных названий элементов.
👉К любым видео автоматически генерируются субтитры.
Приз за самую бесполезную фичу уходит поддержке Vehicle Motion Cues на visionOS – представили себе толпы людей, которые носят Vision Pro в автомобиле? Вот и я нет.
Apple Newsroom
Apple unveils new accessibility features, and updates with Apple Intelligence
Apple announced major accessibility updates powered by Apple Intelligence, including new capabilities for VoiceOver, Magnifier, and Voice Control.
❤8👍3💅2
Программный скролл в SwiftUI
Разбираемся со всеми нюансами того, как программно устанавливать позицию скролла с использованием API, появившихся в iOS 17 и 18.
Разбираемся со всеми нюансами того, как программно устанавливать позицию скролла с использованием API, появившихся в iOS 17 и 18.
Nil Coalescing
Modern SwiftUI APIs for programmatic scrolling
Master programmatic scroll control in SwiftUI using defaultScrollAnchor(_:), scrollPosition(_:anchor:), and ScrollPosition to configure, drive, and read scroll position in your apps.
🔥19