💡SQLiteData — огляд бібліотеки
Команда Point-Free випустила безкоштовний урок, присвячений основам роботи з їхньою бібліотекою SQLiteData — це API-сумісна альтернатива SwiftData, під капотом якої, як неважко здогадатися з назви, використовується наш улюблений SQLite.
У відео показують базові концепції, підхід до моделей і запитів та пояснюють, як почати використовувати SQLiteData у реальному проєкті.
🇺🇦 iOSDevUA
Команда Point-Free випустила безкоштовний урок, присвячений основам роботи з їхньою бібліотекою SQLiteData — це API-сумісна альтернатива SwiftData, під капотом якої, як неважко здогадатися з назви, використовується наш улюблений SQLite.
У відео показують базові концепції, підхід до моделей і запитів та пояснюють, як почати використовувати SQLiteData у реальному проєкті.
🇺🇦 iOSDevUA
www.pointfree.co
Video #347: Tour of SQLiteData: Basics
We give a tour of our SQLiteData library, a fast and lightweight alternative to SwiftData. We’ll set up a fresh project with the package, define models and configure the database, and even write SQL migrations with the help of Xcode’s Coding Assistant.
❤1
💡Чому сповіщення на macOS відображаються догори дриґом
Чудове технічне розслідування рідкісного бага, який випадково відтворювався в macOS-застосунку ChatGPT — сповіщення з’являлися перевернутими. У процесі дебагу автор занурюється в нетривіальні нюанси Core Animation, розбирає поведінку
🇺🇦 iOSDevUA
Чудове технічне розслідування рідкісного бага, який випадково відтворювався в macOS-застосунку ChatGPT — сповіщення з’являлися перевернутими. У процесі дебагу автор занурюється в нетривіальні нюанси Core Animation, розбирає поведінку
CALayer і показує, як подібні візуальні аномалії взагалі можуть виникати.🇺🇦 iOSDevUA
❤1
💡Observable-класи в ієрархії SwiftUI
У матеріалі розглядаються практичні приклади роботи з @Observable-класами в SwiftUI: як правильно їх ініціалізувати, де й як зберігати у стейті, а також які типові помилки можуть виникати. Корисний розбір для тих, хто будує складніші ієрархії в’юшок і хоче уникнути неочевидних багів у керуванні станом.
🇺🇦 iOSDevUA
У матеріалі розглядаються практичні приклади роботи з @Observable-класами в SwiftUI: як правильно їх ініціалізувати, де й як зберігати у стейті, а також які типові помилки можуть виникати. Корисний розбір для тих, хто будує складніші ієрархії в’юшок і хоче уникнути неочевидних багів у керуванні станом.
🇺🇦 iOSDevUA
Nil Coalescing
Initializing @Observable classes within the SwiftUI hierarchy
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
❤1
💡Non-exhaustive enums у Swift 6.2.3
У Swift 6.2.3 з’явиться важливе покращення для
🇺🇦 iOSDevUA
У Swift 6.2.3 з’явиться важливе покращення для
enum, особливо корисне авторам бібліотек: тепер можна додавати нові кейси, не ламаючи зворотну сумісність. Це спрощує еволюцію API та зменшує ризик брейкінг-змін для користувачів бібліотек.🇺🇦 iOSDevUA
GitHub
swift-evolution/proposals/0487-extensible-enums.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
❤4
💡FAQ про Swift на Android
Розбір найпоширеніших запитань, що з’явилися після анонсу Swift для Android:
👉 Swift компілюється у машинний код, постачається з нативним рантаймом і стандартною бібліотекою, а для доступу до платформених можливостей Android використовує Java interop через Android Runtime.
👉 Продакшн-кейси вже існують: поштовий клієнт Spark, тренер гри на піаніно Flowkey та маркетплейс продуктів Naturitas.
👉 Дорожня карта розвитку зібрана на публічній борді — серед пріоритетів нормальна робота у VS Code та Android Studio.
👉 UI — не в фокусі робочої групи: мета — шаринг бізнес-логіки. Проєкти UI від спільноти можна подивитися тут: https://forums.swift.org/t/swift-gui-toolkits-for-android/83337.
🇺🇦 iOSDevUA
Розбір найпоширеніших запитань, що з’явилися після анонсу Swift для Android:
👉 Swift компілюється у машинний код, постачається з нативним рантаймом і стандартною бібліотекою, а для доступу до платформених можливостей Android використовує Java interop через Android Runtime.
👉 Продакшн-кейси вже існують: поштовий клієнт Spark, тренер гри на піаніно Flowkey та маркетплейс продуктів Naturitas.
👉 Дорожня карта розвитку зібрана на публічній борді — серед пріоритетів нормальна робота у VS Code та Android Studio.
👉 UI — не в фокусі робочої групи: мета — шаринг бізнес-логіки. Проєкти UI від спільноти можна подивитися тут: https://forums.swift.org/t/swift-gui-toolkits-for-android/83337.
🇺🇦 iOSDevUA
Swift.org
Exploring the Swift SDK for Android
Since the announcement of the preview Swift SDK for Android,
the Android workgroup has seen a lot of interest in how it works and what’s next.
Please read on for some answers to common questions about the technology and its
future, and try out the new Swift…
the Android workgroup has seen a lot of interest in how it works and what’s next.
Please read on for some answers to common questions about the technology and its
future, and try out the new Swift…
This media is not supported in your browser
VIEW IN TELEGRAM
💡Як ваш застосунок впливає на батарею
Якщо раптом пропустили: в останній версії iOS у Control Center з’явилася можливість запускати профілювання застосунку прямо на пристрої. Тепер можна безпосередньо на телефоні подивитися, як саме ваш app споживає енергію і який вплив має на заряд батареї — без підключення до Mac чи Instruments.
🇺🇦 iOSDevUA
Якщо раптом пропустили: в останній версії iOS у Control Center з’явилася можливість запускати профілювання застосунку прямо на пристрої. Тепер можна безпосередньо на телефоні подивитися, як саме ваш app споживає енергію і який вплив має на заряд батареї — без підключення до Mac чи Instruments.
🇺🇦 iOSDevUA
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Cause & Effect Graph для SwiftUI
У Xcode 26 з’явився новий профайлер для SwiftUI — Cause & Effect Graph. Він дозволяє для будь-якої в’юшки побачити, які саме зміни стану спричинили кожен перерендер. Дуже наочний інструмент для дебагу зайвих оновлень і оптимізації продуктивності інтерфейсу.
🇺🇦 iOSDevUA
У Xcode 26 з’явився новий профайлер для SwiftUI — Cause & Effect Graph. Він дозволяє для будь-якої в’юшки побачити, які саме зміни стану спричинили кожен перерендер. Дуже наочний інструмент для дебагу зайвих оновлень і оптимізації продуктивності інтерфейсу.
🇺🇦 iOSDevUA
❤3
💡Як влаштований NSVisualEffectView
Автор статті хотів відтворити вигляд панелей у macOS Control Center у власному застосунку. Для цього йому довелося зайнятися реверс-інжинірингом нативного NSVisualEffectView та створити повністю кастомізовану реалізацію, яку можна детально вивчити на GitHub.
🇺🇦 iOSDevUA
Автор статті хотів відтворити вигляд панелей у macOS Control Center у власному застосунку. Для цього йому довелося зайнятися реверс-інжинірингом нативного NSVisualEffectView та створити повністю кастомізовану реалізацію, яку можна детально вивчити на GitHub.
🇺🇦 iOSDevUA
😁1
💡 Ховаємо SwiftUI?
Напередодні Нового року в Twitter знову активізувалися розмови про те, що команда SwiftUI нібито програє внутрішню «політичну» боротьбу в Apple. Звідки ростуть ноги у цієї думки, зокрема з цього треду:
👉 На WWDC цього року SwiftUI просували помітно менше, ніж раніше, зате значно більше сесій показували приклади на UIKit.
👉 В одному з ключових SwiftUI-застосунків Apple — Photos.app — в iOS 26 частину коду та інфраструктури переписали назад на UIKit.
У статті за посиланням автор наводить ще більше аргументів на користь того, що UIKit у 2026 році став достатньо сильним і зрілим вибором, тоді як SwiftUI, на його думку, починає поступово здавати позиції.
🇺🇦 iOSDevUA
Напередодні Нового року в Twitter знову активізувалися розмови про те, що команда SwiftUI нібито програє внутрішню «політичну» боротьбу в Apple. Звідки ростуть ноги у цієї думки, зокрема з цього треду:
👉 На WWDC цього року SwiftUI просували помітно менше, ніж раніше, зате значно більше сесій показували приклади на UIKit.
👉 В одному з ключових SwiftUI-застосунків Apple — Photos.app — в iOS 26 частину коду та інфраструктури переписали назад на UIKit.
У статті за посиланням автор наводить ще більше аргументів на користь того, що UIKit у 2026 році став достатньо сильним і зрілим вибором, тоді як SwiftUI, на його думку, починає поступово здавати позиції.
🇺🇦 iOSDevUA
Jacobstechtavern
2025: The year SwiftUI died
Rediscovering my love for the Classic UIKit Stack™
👍2
💡 Fucking Approachable Swift Concurrency
Ще одна спроба простою мовою пояснити базові ментальні моделі Swift Concurrency. Автор розкладає по поличках, як працює ізоляція, через зрозумілі метафори та короткі приклади коду, щоб концепції
🇺🇦 iOSDevUA
Ще одна спроба простою мовою пояснити базові ментальні моделі Swift Concurrency. Автор розкладає по поличках, як працює ізоляція, через зрозумілі метафори та короткі приклади коду, щоб концепції
async/await, акторів і потокобезпеки стали інтуїтивними, а не лякали термінами.🇺🇦 iOSDevUA
Fucking Approachable Swift Concurrency
A no-bullshit guide to Swift concurrency. Learn async/await, actors, Sendable, and MainActor with simple mental models. No jargon, just clear explanations.
❤1
💡 SwiftUI Previews у Zed
Якщо ви вже встигли спробувати розробку iOS у редакторі Zed, ось корисний мініґайд, який показує, як налаштувати SwiftUI Previews прямо в Zed. Кроки прості, а результат — швидкий перегляд інтерфейсу без постійного перемикання в Xcode.
🇺🇦 iOSDevUA
Якщо ви вже встигли спробувати розробку iOS у редакторі Zed, ось корисний мініґайд, який показує, як налаштувати SwiftUI Previews прямо в Zed. Кроки прості, а результат — швидкий перегляд інтерфейсу без постійного перемикання в Xcode.
🇺🇦 iOSDevUA
😱1
💡 Як пришвидшити CI-збірки за допомогою slot-warmed caching
Slot-warmed caching — це підхід, за якого формується кеш збірки для конкретних шляхів і повторно використовується в наступних прогонах CI, замість того щоб збирати все з нуля. За словами автора, такий підхід дозволив прискорити збірки у 10 разів, суттєво скоротивши час і витрати на CI.
🇺🇦 iOSDevUA
Slot-warmed caching — це підхід, за якого формується кеш збірки для конкретних шляхів і повторно використовується в наступних прогонах CI, замість того щоб збирати все з нуля. За словами автора, такий підхід дозволив прискорити збірки у 10 разів, суттєво скоротивши час і витрати на CI.
🇺🇦 iOSDevUA
Jeffverkoeyen
10× faster Xcode CI builds with slot caching — featherless software design
🔥 Як ми прискорили розробку на iOS за допомогою Cursor AI
У цій статті я ділюся реальним досвідом з нашого продакшн-процесу: як ми частково замінили Xcode на Cursor, чому це стало одним із найвідчутніших левел-апів у iOS-workflow і що саме дало приріст у швидкості. Розповідаю про практичні нюанси: налаштування Cursor під iOS, роботу з великим кодом, різницю між вбудованим AI в Xcode 26 і тим, як Cursor з GPT-5.2 реально тримає контекст і економить час без зайвого «тертя». Якщо вам цікаво, як AI може не просто “бути”, а реально прискорювати розробку, — стаття буде корисною.
🇺🇦 iOSDevUA
У цій статті я ділюся реальним досвідом з нашого продакшн-процесу: як ми частково замінили Xcode на Cursor, чому це стало одним із найвідчутніших левел-апів у iOS-workflow і що саме дало приріст у швидкості. Розповідаю про практичні нюанси: налаштування Cursor під iOS, роботу з великим кодом, різницю між вбудованим AI в Xcode 26 і тим, як Cursor з GPT-5.2 реально тримає контекст і економить час без зайвого «тертя». Якщо вам цікаво, як AI може не просто “бути”, а реально прискорювати розробку, — стаття буде корисною.
🇺🇦 iOSDevUA
👍9🔥1
💡Replay — тестування на реальному мережевому трафіку
Replay — нова бібліотека від Mattt, яка дозволяє записувати реальний мережевий трафік вашого застосунку, зберігати його у файл, вирізати/маскувати секрети, а потім відтворювати цей трафік для тестування мережевого шару.
Зручно, коли хочеться перевіряти HTTP-логіку на максимально “живих” сценаріях — без ручного мокання й нескінченних стабів.
🇺🇦 iOSDevUA
Replay — нова бібліотека від Mattt, яка дозволяє записувати реальний мережевий трафік вашого застосунку, зберігати його у файл, вирізати/маскувати секрети, а потім відтворювати цей трафік для тестування мережевого шару.
Зручно, коли хочеться перевіряти HTTP-логіку на максимально “живих” сценаріях — без ручного мокання й нескінченних стабів.
🇺🇦 iOSDevUA
💡Практичне використання Apple Foundation Models: підсумовування тексту
Хоча при роботі з LLM завжди залишаються типові ризики (помилки, галюцинації тощо), Foundation Models Framework може бути дуже корисним для прикладних задач — від резюмування тексту до простих сценаріїв генерації.
📖 У цьому розширеному гайді розглянуто один із найпрактичніших кейсів — підсумовування тексту:
https://www.kodeco.com/49841134-using-apple-foundation-models-to-summarize-text/
Окремо показано, як:
• перевіряти доступність фреймворку та моделі на пристрої,
• налаштовувати обмеження й поведінку генерації,
• і використати готовий демо-проєкт як основу для інтеграції у свій застосунок.
🇺🇦 iOSDevUA
Хоча при роботі з LLM завжди залишаються типові ризики (помилки, галюцинації тощо), Foundation Models Framework може бути дуже корисним для прикладних задач — від резюмування тексту до простих сценаріїв генерації.
📖 У цьому розширеному гайді розглянуто один із найпрактичніших кейсів — підсумовування тексту:
https://www.kodeco.com/49841134-using-apple-foundation-models-to-summarize-text/
Окремо показано, як:
• перевіряти доступність фреймворку та моделі на пристрої,
• налаштовувати обмеження й поведінку генерації,
• і використати готовий демо-проєкт як основу для інтеграції у свій застосунок.
🇺🇦 iOSDevUA
kodeco.com
Using Apple Foundation Models to Summarize Text
Build an on-device text summarizer using Apple Foundation Models and SwiftUI, with step-by-step guidance on availability checks and summarization.
👍1
💡Розбір ієрархії жестів у SwiftUI
📖 Корисна стаття: https://www.createwithswift.com/understanding-gesture-hierarchy/ — у ній пояснюють, як у SwiftUI працює ієрархія жестів, як керувати їхніми пріоритетами та як уникати конфліктів, коли кілька жестів змагаються за обробку одного й того ж торкання.
🇺🇦 iOSDevUA
📖 Корисна стаття: https://www.createwithswift.com/understanding-gesture-hierarchy/ — у ній пояснюють, як у SwiftUI працює ієрархія жестів, як керувати їхніми пріоритетами та як уникати конфліктів, коли кілька жестів змагаються за обробку одного й того ж торкання.
🇺🇦 iOSDevUA
Create with Swift
Understanding gesture hierarchy
Learn how to set up the hierarchy of gestures in views and subviews within a SwiftUI app.
❤1👍1
⚡️ Gemini стане новим «ядром» Siri — офіційна заява Apple і Google
Google та Apple опублікували спільну заяву про багаторічну співпрацю: наступне покоління Apple Foundation Models буде базуватися на моделях Gemini та хмарних технологіях Google, а це має підсилити майбутні фічі Apple Intelligence, включно з більш персоналізованою Siri.
🗓 За повідомленнями профільних медіа, Siri «наступного покоління» очікують разом з iOS 26.4, яку ймовірно випустять для всіх у березні або квітні.
Дуже сподіваюся, що під це оновлення підтягнуть і корисні апдейти для розробників — зокрема, в рамках Foundation Models Framework, щоб нові можливості можна було нормально інтегрувати у продакшн-застосунки.
🇺🇦 iOSDevUA
Google та Apple опублікували спільну заяву про багаторічну співпрацю: наступне покоління Apple Foundation Models буде базуватися на моделях Gemini та хмарних технологіях Google, а це має підсилити майбутні фічі Apple Intelligence, включно з більш персоналізованою Siri.
🗓 За повідомленнями профільних медіа, Siri «наступного покоління» очікують разом з iOS 26.4, яку ймовірно випустять для всіх у березні або квітні.
Дуже сподіваюся, що під це оновлення підтягнуть і корисні апдейти для розробників — зокрема, в рамках Foundation Models Framework, щоб нові можливості можна було нормально інтегрувати у продакшн-застосунки.
🇺🇦 iOSDevUA
👍2👀2😱1
💡«Секретний» спосіб знайти .md-файли з документацією для Swift Concurrency / SwiftUI / MapKit та іншого
Зараз бачу нову хвилю хайпу навколо інструкцій для Claude та інших агентів — деякі репозиторії з такими «скілами» вже збирають тисячі зірок (наприклад: https://github.com/Dimillian/Skills).
Але є простіший лайфхак: можна буквально за пару кліків дістатися до внутрішніх Apple markdown-інструкцій, які використовує Xcode Intelligence.
Шлях ось такий:
У цій директорії лежать .md-доки для FoundationModels, StoreKit, Swift Concurrency Updates та багато інших тем — дуже зручно підживлювати ними своїх агентів.
🇺🇦 iOSDevUA
Зараз бачу нову хвилю хайпу навколо інструкцій для Claude та інших агентів — деякі репозиторії з такими «скілами» вже збирають тисячі зірок (наприклад: https://github.com/Dimillian/Skills).
Але є простіший лайфхак: можна буквально за пару кліків дістатися до внутрішніх Apple markdown-інструкцій, які використовує Xcode Intelligence.
Шлях ось такий:
/Xcode.app/Contents/PlugIns/IDEIntelligenceChat.framework/Versions/A/Resources/AdditionalDocumentation
У цій директорії лежать .md-доки для FoundationModels, StoreKit, Swift Concurrency Updates та багато інших тем — дуже зручно підживлювати ними своїх агентів.
🇺🇦 iOSDevUA
❤7
💡Поглиблений розбір міграцій даних у SwiftData
Як зазначає Донні Волш (і з цим важко не погодитись), «легкі» міграції чудово працюють, доки ви не додаєте нових складних вимог: наприклад, просто додаєте опціональні поля, видаляєте їх або перейменовуєте.
Але щойно потрібно додати нову опціональну властивість з іншою логікою, змінити типи, або зробити щось складніше — ви переходите в зону ручних міграцій. У таких випадках рятує
У статті розібрано кілька практичних сценаріїв:
🔘 Як вводити версіонування через VersionedSchema
🔘 Коли саме варто створювати нову версію схеми
🔘 Коли SwiftData мігрує автоматично, а коли краще використовувати SchemaMigrationPlan і MigrationStage
🔘 Як виконувати по-справжньому складні ручні міграції
🇺🇦 iOSDevUA
Як зазначає Донні Волш (і з цим важко не погодитись), «легкі» міграції чудово працюють, доки ви не додаєте нових складних вимог: наприклад, просто додаєте опціональні поля, видаляєте їх або перейменовуєте.
Але щойно потрібно додати нову опціональну властивість з іншою логікою, змінити типи, або зробити щось складніше — ви переходите в зону ручних міграцій. У таких випадках рятує
SchemaMigrationPlan із налаштовуваними етапами міграції (MigrationStage).У статті розібрано кілька практичних сценаріїв:
🔘 Як вводити версіонування через VersionedSchema
🔘 Коли саме варто створювати нову версію схеми
🔘 Коли SwiftData мігрує автоматично, а коли краще використовувати SchemaMigrationPlan і MigrationStage
🔘 Як виконувати по-справжньому складні ручні міграції
🇺🇦 iOSDevUA
❤3
🛠 Dime — open-source трекер фінансів у стилі Apple гайдлайнів
З власного досвіду помітив: найчастіше перші pet-проєкти у розробників — це або облік фінансів, або погодний застосунок, трекер звичок чи нотатки. Навіть у таких, здавалося б, простих темах інколи народжуються справжні шедеври на кшталт Clear: https://apps.apple.com/cy/app/clear-minimalist-todo-lists/id493136154.
До того ж подібні задачі часто трапляються й у тестових — у різних варіаціях на 4–6 годин роботи.
Тому ділюся Dime — застосунком із відкритим кодом (⭐️ ~1500 зірок), де можна подивитися на один із якісних підходів до реалізації фінансового трекера. У репозиторії є приклади віджетів, iCloud-синхронізації, роботи з темами, базової архітектури та інших корисних речей.
🇺🇦 iOSDevUA
З власного досвіду помітив: найчастіше перші pet-проєкти у розробників — це або облік фінансів, або погодний застосунок, трекер звичок чи нотатки. Навіть у таких, здавалося б, простих темах інколи народжуються справжні шедеври на кшталт Clear: https://apps.apple.com/cy/app/clear-minimalist-todo-lists/id493136154.
До того ж подібні задачі часто трапляються й у тестових — у різних варіаціях на 4–6 годин роботи.
Тому ділюся Dime — застосунком із відкритим кодом (⭐️ ~1500 зірок), де можна подивитися на один із якісних підходів до реалізації фінансового трекера. У репозиторії є приклади віджетів, iCloud-синхронізації, роботи з темами, базової архітектури та інших корисних речей.
🇺🇦 iOSDevUA
🚀 Skip став безкоштовним і опенсорсним
Раніше для створення застосунків у Skip потрібна була платна підписка та ліцензійний ключ. Тепер команда вирішила перейти на повністю відкриту модель, щоб зберегти довіру розробницької спільноти й забезпечити масове поширення технології. Навіть якщо основна команда колись не зможе активно розвивати продукт, ком’юніті зможе підтримувати Skip та застосунки, які від нього залежать.
Що це означає для тих, хто вже користується Skip або тільки придивлявся?
✅ більше немає ліцензійних ключів
✅ немає ліцензійних угод для кінцевих користувачів
✅ немає тріалу чи обмеженого «ознайомчого» періоду
🛠 Відкрито вихідний код рушія Skipstone: https://github.com/skiptools
🌐 Сайт переїжджає на: https://skip.dev/
📖 Повну заяву творців можна прочитати тут: https://skip.dev/blog/skip-is-free/
🇺🇦 iOSDevUA
Раніше для створення застосунків у Skip потрібна була платна підписка та ліцензійний ключ. Тепер команда вирішила перейти на повністю відкриту модель, щоб зберегти довіру розробницької спільноти й забезпечити масове поширення технології. Навіть якщо основна команда колись не зможе активно розвивати продукт, ком’юніті зможе підтримувати Skip та застосунки, які від нього залежать.
Що це означає для тих, хто вже користується Skip або тільки придивлявся?
✅ більше немає ліцензійних ключів
✅ немає ліцензійних угод для кінцевих користувачів
✅ немає тріалу чи обмеженого «ознайомчого» періоду
🛠 Відкрито вихідний код рушія Skipstone: https://github.com/skiptools
🌐 Сайт переїжджає на: https://skip.dev/
📖 Повну заяву творців можна прочитати тут: https://skip.dev/blog/skip-is-free/
🇺🇦 iOSDevUA
GitHub
Skip
Build iPhone and Android apps from a single Swift and SwiftUI codebase - Skip
❤4👍1