🍎 Вийшла стабільна версія Cupertino
У січні я вже ділився Cupertino — MCP-сервером, який передає вашому AI-агенту інформацію з документації Apple як контекст.
Тепер у проєкту вийшла стабільна версія 🚀
Головне оновлення — пошук став значно точнішим. Тобто агент має краще знаходити релевантні частини документації й менше помилятися, коли працює з Apple API, Swift, SwiftUI та іншими інструментами екосистеми.
У статті також багато деталей про те, як автори переробляли алгоритми пошуку та ранжування результатів. Якщо цікаво, як MCP-сервери можуть якісніше працювати з технічною документацією — варто почитати ⚡️
🔗 Стаття:
https://aleahim.com/blog/cupertino-first-light/
🛠 GitHub:
https://github.com/mihaelamj/cupertino
🇺🇦 iOSDevUA
У січні я вже ділився Cupertino — MCP-сервером, який передає вашому AI-агенту інформацію з документації Apple як контекст.
Тепер у проєкту вийшла стабільна версія 🚀
Головне оновлення — пошук став значно точнішим. Тобто агент має краще знаходити релевантні частини документації й менше помилятися, коли працює з Apple API, Swift, SwiftUI та іншими інструментами екосистеми.
У статті також багато деталей про те, як автори переробляли алгоритми пошуку та ранжування результатів. Якщо цікаво, як MCP-сервери можуть якісніше працювати з технічною документацією — варто почитати ⚡️
🔗 Стаття:
https://aleahim.com/blog/cupertino-first-light/
🛠 GitHub:
https://github.com/mihaelamj/cupertino
🇺🇦 iOSDevUA
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.
🔥3
🌀 Робимо спінер у Claude Code більш iOS-ним
Якщо ви користувалися Claude Code, то точно бачили його спінер — набір фраз, які зʼявляються, поки він виконує роботу.
І виявляється, ці фрази можна кастомізувати й замінювати на свої 👀
Тримайте підбірку iOS-вайбових фраз для Claude Code, щоб під час роботи агента відчувати себе трохи ближче до рідної екосистеми Apple 🍎
Маленька деталь, але додає інструменту більше настрою й персональності.
🔗 GitHub:
https://github.com/artemnovichkov/vibe-spinner
🇺🇦 iOSDevUA
Якщо ви користувалися Claude Code, то точно бачили його спінер — набір фраз, які зʼявляються, поки він виконує роботу.
І виявляється, ці фрази можна кастомізувати й замінювати на свої 👀
Тримайте підбірку iOS-вайбових фраз для Claude Code, щоб під час роботи агента відчувати себе трохи ближче до рідної екосистеми Apple 🍎
Маленька деталь, але додає інструменту більше настрою й персональності.
🔗 GitHub:
https://github.com/artemnovichkov/vibe-spinner
🇺🇦 iOSDevUA
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
👍2
🧵 Оптимізація коду зі Swift Concurrency через Xcode Instruments
Антуан ван дер Лі випустив нове відео про те, як використовувати інструменти Xcode для аналізу й оптимізації коду зі Swift Concurrency.
У матеріалі він показує, як можна дивитися на роботу застосунку в рантаймі, аналізувати стан Swift-задач і краще розуміти, що саме відбувається під капотом.
З цікавого 👇
👉 як візуалізувати стан задач у Swift Concurrency;
👉 як дивитися на взаємозвʼязки у вигляді графів для structured concurrency;
👉 як окремі задачі впливають на CPU і продуктивність застосунку.
Корисно для тих, хто вже працює з
📖 Оглядова стаття:
https://www.avanderlee.com/concurrency/using-xcode-instruments-to-optimize-swift-concurrency-code/
📺 Відео:
https://www.youtube.com/watch?v=hDFOy-ynJ6I
🇺🇦 iOSDevUA
Антуан ван дер Лі випустив нове відео про те, як використовувати інструменти Xcode для аналізу й оптимізації коду зі Swift Concurrency.
У матеріалі він показує, як можна дивитися на роботу застосунку в рантаймі, аналізувати стан Swift-задач і краще розуміти, що саме відбувається під капотом.
З цікавого 👇
👉 як візуалізувати стан задач у Swift Concurrency;
👉 як дивитися на взаємозвʼязки у вигляді графів для structured concurrency;
👉 як окремі задачі впливають на CPU і продуктивність застосунку.
Корисно для тих, хто вже працює з
async/await, Task і хоче не просто писати асинхронний код, а розуміти його поведінку в реальному виконанні ⚡️📖 Оглядова стаття:
https://www.avanderlee.com/concurrency/using-xcode-instruments-to-optimize-swift-concurrency-code/
📺 Відео:
https://www.youtube.com/watch?v=hDFOy-ynJ6I
🇺🇦 iOSDevUA
❤3
🧯 Як приховати стандартну модалку з крашами Xcode
Якщо Xcode занадто часто падає, а вам уже набридло щоразу бачити величезні crash logs у стандартному вікні macOS, може допомогти невеликий трюк.
Стефан Касас поділився командою, яка вмикає інший режим показу Crash Reporter:
Після цього краш-репорти мають менше дратувати й не відкриватися у звичному великому модальному вікні.
Також можна встановити Additional Tools for Xcode і через Crash Reporter Prefs налаштувати більше опцій для поведінки crash reports ⚙️
Корисно, якщо ви часто працюєте з нестабільними білдами, бетами Xcode або просто не хочете, щоб кожен краш переривав робочий процес.
🔗 Твіт:
https://x.com/TheMrKai77/status/2059732231061753930
🛠 Additional Tools for Xcode:
https://developer.apple.com/download/all/?q=crash%20reporter
🇺🇦 iOSDevUA
Якщо Xcode занадто часто падає, а вам уже набридло щоразу бачити величезні crash logs у стандартному вікні macOS, може допомогти невеликий трюк.
Стефан Касас поділився командою, яка вмикає інший режим показу Crash Reporter:
defaults write com.apple.CrashReporter UseUNC -bool YES
Після цього краш-репорти мають менше дратувати й не відкриватися у звичному великому модальному вікні.
Також можна встановити Additional Tools for Xcode і через Crash Reporter Prefs налаштувати більше опцій для поведінки crash reports ⚙️
Корисно, якщо ви часто працюєте з нестабільними білдами, бетами Xcode або просто не хочете, щоб кожен краш переривав робочий процес.
🔗 Твіт:
https://x.com/TheMrKai77/status/2059732231061753930
🛠 Additional Tools for Xcode:
https://developer.apple.com/download/all/?q=crash%20reporter
🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
🌀 Що приховує
Seb Vidal та ertem розкопали кілька неочевидних деталей про те, як насправді працює
Виявляється, всередині все влаштовано доволі хитро: там використовується кастомний
Насправді в ієрархії зазвичай є лише три вʼюхи: поточна, попередня і наступна. А ефект безперервного скролу досягається завдяки постійному й непомітному скиданню
Найцікавіше починається далі 👇
Через приватний метод
І це вже відкриває простір для кастомних інтерактивних анімацій: наприклад, можна спробувати відтворити легендарний інтерактивний скрабер з Apple Photos прямо у своєму застосунку ✨
🇺🇦 iOSDevUA
UIPageViewControllerSeb Vidal та ertem розкопали кілька неочевидних деталей про те, як насправді працює
UIPageViewController.Виявляється, всередині все влаштовано доволі хитро: там використовується кастомний
UIScrollView — _UIQueuingScrollView, який створює лише ілюзію нескінченної стрічки.Насправді в ієрархії зазвичай є лише три вʼюхи: поточна, попередня і наступна. А ефект безперервного скролу досягається завдяки постійному й непомітному скиданню
contentOffset та фреймів внутрішніх елементів.Найцікавіше починається далі 👇
Через приватний метод
_visibleView можна отримати активний екран. А якщо поєднати це з KVO-трекінгом, врахувати розміри фрейму та interpageSpacing, то можна зібрати щось на кшталт віртуального contentOffset.І це вже відкриває простір для кастомних інтерактивних анімацій: наприклад, можна спробувати відтворити легендарний інтерактивний скрабер з Apple Photos прямо у своєму застосунку ✨
🇺🇦 iOSDevUA
❤1
👁 Розпізнаємо текст на зображеннях за допомогою Vision
Корисна стаття від Деніела Саїді про роботу з Vision-фреймворком в iOS.
Основний фокус — не просто знайти текст на зображенні, а правильно працювати з багаторядковим текстом і групувати розпізнані фрагменти в осмислені абзаци.
Це особливо корисно для застосунків, де потрібно аналізувати документи, скриншоти, нотатки, фото з текстом або будь-який інший контент, який треба перетворити на структурований текст 🧠
Якщо працюєте з OCR, Vision або хочете краще зрозуміти, як Apple підходить до text recognition, варто подивитися.
📖 Стаття:
https://danielsaidi.com/blog/2026/01/10/detecting-text-in-images-with-the-vision-framework
📺 WWDC-сесія:
https://developer.apple.com/videos/play/wwdc2025/272/
🇺🇦 iOSDevUA
Корисна стаття від Деніела Саїді про роботу з Vision-фреймворком в iOS.
Основний фокус — не просто знайти текст на зображенні, а правильно працювати з багаторядковим текстом і групувати розпізнані фрагменти в осмислені абзаци.
Це особливо корисно для застосунків, де потрібно аналізувати документи, скриншоти, нотатки, фото з текстом або будь-який інший контент, який треба перетворити на структурований текст 🧠
Якщо працюєте з OCR, Vision або хочете краще зрозуміти, як Apple підходить до text recognition, варто подивитися.
📖 Стаття:
https://danielsaidi.com/blog/2026/01/10/detecting-text-in-images-with-the-vision-framework
📺 WWDC-сесія:
https://developer.apple.com/videos/play/wwdc2025/272/
🇺🇦 iOSDevUA
❤1
📐 Розбір проблем з анімацією у SwiftUI List
Корисний матеріал про те, чому в SwiftUI List можуть виникати дивні стрибки анімації, особливо коли змінюється висота рядків.
У статті розбирають кілька типових складнощів, які зʼявляються в реальних застосунках: нерівномірні переходи, зміни spacing, неочікувані перескоки контенту та поведінку списку під час оновлення рядків.
Окремо цікаво, що автор показує приклад реалізації власного кастомного layout, який допомагає краще контролювати поведінку списку й уникати таких візуальних артефактів ⚙️
Корисно для тих, хто працює зі SwiftUI, складними списками та хоче зробити анімації в інтерфейсі більш плавними й передбачуваними.
📖 Стаття:
https://fatbobman.com/en/posts/taming-row-height-and-spacing-jumps/
🛠 Вихідний код:
https://gist.github.com/fatbobman/02a6ffffd58f0997b9f9155b89fea490?utm_source=Fatbobman%20Blog&utm_medium=web
🇺🇦 iOSDevUA
Корисний матеріал про те, чому в SwiftUI List можуть виникати дивні стрибки анімації, особливо коли змінюється висота рядків.
У статті розбирають кілька типових складнощів, які зʼявляються в реальних застосунках: нерівномірні переходи, зміни spacing, неочікувані перескоки контенту та поведінку списку під час оновлення рядків.
Окремо цікаво, що автор показує приклад реалізації власного кастомного layout, який допомагає краще контролювати поведінку списку й уникати таких візуальних артефактів ⚙️
Корисно для тих, хто працює зі SwiftUI, складними списками та хоче зробити анімації в інтерфейсі більш плавними й передбачуваними.
📖 Стаття:
https://fatbobman.com/en/posts/taming-row-height-and-spacing-jumps/
🛠 Вихідний код:
https://gist.github.com/fatbobman/02a6ffffd58f0997b9f9155b89fea490?utm_source=Fatbobman%20Blog&utm_medium=web
🇺🇦 iOSDevUA
fatbobman.com
Taming Row Height and Spacing Jumps in SwiftUI List with a Custom Layout
Learn why SwiftUI List rows jump during height changes and how to fix it using a custom Layout, state machine decoupling, and CollapsibleSpacingVStack — no UIKit required.
👍2❤1
🧵 Swift Sendable: як запобігати data race ще на етапі компіляції
До появи Swift Concurrency у застосунках завжди залишався ризик, що кілька потоків одночасно звернуться до одного й того ж змінюваного стану.
І найнеприємніше в таких помилках те, що їх дуже складно відтворити: застосунок може працювати стабільно місяцями, а потім раптово почати крашитися вже на проді 💥
У Swift Concurrency підхід інший: замість того щоб ловити гонки даних у рантаймі, Swift намагається не допустити їх появи ще під час компіляції.
Саме тут у гру вступає протокол Sendable.
У статті розбирають, як він працює, що таке data race, чому це небезпечно для застосунку і як Swift допомагає писати більш безпечний concurrency-код 🛡
Корисно для тих, хто працює з async/await,
📖 Стаття:
https://www.sagarunagar.com/blog/swift-sendable-compile-time-data-race-prevention/
🇺🇦 iOSDevUA
До появи Swift Concurrency у застосунках завжди залишався ризик, що кілька потоків одночасно звернуться до одного й того ж змінюваного стану.
І найнеприємніше в таких помилках те, що їх дуже складно відтворити: застосунок може працювати стабільно місяцями, а потім раптово почати крашитися вже на проді 💥
У Swift Concurrency підхід інший: замість того щоб ловити гонки даних у рантаймі, Swift намагається не допустити їх появи ще під час компіляції.
Саме тут у гру вступає протокол Sendable.
У статті розбирають, як він працює, що таке data race, чому це небезпечно для застосунку і як Swift допомагає писати більш безпечний concurrency-код 🛡
Корисно для тих, хто працює з async/await,
Task, акторами й хоче краще розуміти, як Swift захищає код від проблем із паралельним доступом до даних.📖 Стаття:
https://www.sagarunagar.com/blog/swift-sendable-compile-time-data-race-prevention/
🇺🇦 iOSDevUA
Sagarunagar
Swift Sendable Explained - Compile Time Data Race Prevention in Swift Concurrency
Learn how Sendable works in Swift Concurrency to prevent data races at compile time. Understand Sendable, @Sendable closures, actors, actor isolation, Swift 6 concurrency checks, and real-world examples.
❤2
📱 DOU Mobile Meetup 2026 — зустрічаємось у Києві!
16 червня в книгарні «Сенс» відбудеться DOU Mobile Meetup 2026 — перша та єдина цього року подія для мобільних розробників від DOU.
Що на вас чекає:
🎤 8 спікерів — з MacPaw, appflame, ПриватБанк, GlobalLogic, Drill App та United Tech
🛠 воркшоп
🎯 активності на стендах партнерів
📚 розіграш книги
🥂 фуршет
🤝 і багато-багато нетворкінгу
🎁 Бонус для всіх учасників нашої групи — промокод на знижку 10%: IOSDEVUA10
Деталі та реєстрація 👉 https://dou.ua/dou-mobile-meetup-2026/
До зустрічі на мітапі! 🚀
🇺🇦 iOSDevUA
16 червня в книгарні «Сенс» відбудеться DOU Mobile Meetup 2026 — перша та єдина цього року подія для мобільних розробників від DOU.
Що на вас чекає:
🎤 8 спікерів — з MacPaw, appflame, ПриватБанк, GlobalLogic, Drill App та United Tech
🛠 воркшоп
🎯 активності на стендах партнерів
📚 розіграш книги
🥂 фуршет
🤝 і багато-багато нетворкінгу
🎁 Бонус для всіх учасників нашої групи — промокод на знижку 10%: IOSDEVUA10
Деталі та реєстрація 👉 https://dou.ua/dou-mobile-meetup-2026/
До зустрічі на мітапі! 🚀
🇺🇦 iOSDevUA
🔥3❤2
🛡 Безпека iOS-застосунків в епоху AI
У новому випуску Swift Academy Дейв Пуарʼє та Дея Ельхавалде детально обговорюють, як змінюється безпека iOS-застосунків на фоні розвитку штучного інтелекту.
Йдеться не лише про конкретні вразливості, а й про ширший контекст: культуру розробки, архітектуру, мислення зловмисників і те, як може виглядати майбутнє захисту застосунків.
У відео розбирають:
👉 які нові типи атак зʼявляються;
👉 які помилки iOS-розробники досі часто допускають;
👉 як AI може впливати і на атаки, і на захист;
👉 чому не варто повністю покладатися на думку, що «Apple сама подбає про нашу безпеку».
Останній пункт особливо важливий: автори називають це одним із найпоширеніших міфів в iOS-розробці.
Корисно для всіх, хто створює iOS-застосунки, працює з архітектурою або хоче краще розуміти, як безпека змінюється в реальності, де AI стає частиною і розробки, і потенційних атак ⚠️
📺 Відео:
https://www.youtube.com/watch?v=Jtk4O1rDKTI
🇺🇦 iOSDevUA
У новому випуску Swift Academy Дейв Пуарʼє та Дея Ельхавалде детально обговорюють, як змінюється безпека iOS-застосунків на фоні розвитку штучного інтелекту.
Йдеться не лише про конкретні вразливості, а й про ширший контекст: культуру розробки, архітектуру, мислення зловмисників і те, як може виглядати майбутнє захисту застосунків.
У відео розбирають:
👉 які нові типи атак зʼявляються;
👉 які помилки iOS-розробники досі часто допускають;
👉 як AI може впливати і на атаки, і на захист;
👉 чому не варто повністю покладатися на думку, що «Apple сама подбає про нашу безпеку».
Останній пункт особливо важливий: автори називають це одним із найпоширеніших міфів в iOS-розробці.
Корисно для всіх, хто створює iOS-застосунки, працює з архітектурою або хоче краще розуміти, як безпека змінюється в реальності, де AI стає частиною і розробки, і потенційних атак ⚠️
📺 Відео:
https://www.youtube.com/watch?v=Jtk4O1rDKTI
🇺🇦 iOSDevUA
YouTube
Modern iOS Security: Attacks, Defenses & AI
Security on iOS has never been more critical, or more misunderstood.
In this episode of Swift Academy, I’m joined by Dave Poirier and Deya Elkhawaldeh for a deep conversation about the evolving reality of iOS security in the age of AI.
This is not a discussion…
In this episode of Swift Academy, I’m joined by Dave Poirier and Deya Elkhawaldeh for a deep conversation about the evolving reality of iOS security in the age of AI.
This is not a discussion…
❤1👍1