💡Плани swift-foundation на 2025
Команда, що розробляє версію Foundation на Swift, поділилася планами на наступний рік:
👉 Покращення продуктивності бібліотеки, зокрема — написання нових бенчмарків
👉 Продовження переписування частин Foundation з C на Swift
👉 Допомога спільноті в виправленні незначних, але дратівливих проблем у дизайні та реалізації
🇺🇦 iOSDevUA
Команда, що розробляє версію Foundation на Swift, поділилася планами на наступний рік:
👉 Покращення продуктивності бібліотеки, зокрема — написання нових бенчмарків
👉 Продовження переписування частин Foundation з C на Swift
👉 Допомога спільноті в виправленні незначних, але дратівливих проблем у дизайні та реалізації
🇺🇦 iOSDevUA
Swift Forums
Swift-Foundation 2024 Annual Update
Hi everyone, I'd like to share the first-ever yearly update from Swift-Foundation workgroup. Let's review what we've accomplished in the last year and look to what's next. Year in review This was a big year for the open source Swift-Foundation package!…
This media is not supported in your browser
VIEW IN TELEGRAM
💡Реалізація додатка для гри в шахи на SwiftUI
David v.Knobelsdorff нещодавно створив шаховий додаток від початку до кінця за допомогою SwiftUI та задокументував весь процес у своєму блозі.
Це об’ємний матеріал (аж з дев’яти частин), але його варто прочитати, якщо ви цікавитесь шахами або шукаєте хороший приклад створення повноцінного додатка на SwiftUI.
1️⃣ Мотивація та термінологія.
2️⃣ Навіщо потрібні pgn-файли і як з ними працювати.
3️⃣ Реалізація логіки.
4️⃣ Створення набору компонентів.
5️⃣ База даних та кодування ходів.
6️⃣ FSRS-алгоритм (тут можна прочитати про нього додатково).
7️⃣ Шахові головоломки.
8️⃣ Використання локального шахового движка.
9️⃣ Тестування та висновки.
🇺🇦 iOSDevUA
David v.Knobelsdorff нещодавно створив шаховий додаток від початку до кінця за допомогою SwiftUI та задокументував весь процес у своєму блозі.
Це об’ємний матеріал (аж з дев’яти частин), але його варто прочитати, якщо ви цікавитесь шахами або шукаєте хороший приклад створення повноцінного додатка на SwiftUI.
1️⃣ Мотивація та термінологія.
2️⃣ Навіщо потрібні pgn-файли і як з ними працювати.
3️⃣ Реалізація логіки.
4️⃣ Створення набору компонентів.
5️⃣ База даних та кодування ходів.
6️⃣ FSRS-алгоритм (тут можна прочитати про нього додатково).
7️⃣ Шахові головоломки.
8️⃣ Використання локального шахового движка.
9️⃣ Тестування та висновки.
🇺🇦 iOSDevUA
🔥6
💡Аналог Cursor для Xcode
Новини з Copilot не закінчуються. Вийшов в бета-версії стартап Alex Sidebar, який позиціонується як Cursor для Xcode. Що він вміє:
👉 За шорткатом відкривати чат, в контекст якого потрапляє виділений фрагмент коду
👉 У сайдбар, відкритий поруч з Xcode, можна перетягувати зображення, для якого буде згенерований код
👉 Семантичний пошук по всій кодовій базі
👉 Автоматичний фікс помилок
👉 Автоматичне створення нових файлів коду
Поки в бета-версії, спробувати можна безкоштовно.
🇺🇦 iOSDevUA
Новини з Copilot не закінчуються. Вийшов в бета-версії стартап Alex Sidebar, який позиціонується як Cursor для Xcode. Що він вміє:
👉 За шорткатом відкривати чат, в контекст якого потрапляє виділений фрагмент коду
👉 У сайдбар, відкритий поруч з Xcode, можна перетягувати зображення, для якого буде згенерований код
👉 Семантичний пошук по всій кодовій базі
👉 Автоматичний фікс помилок
👉 Автоматичне створення нових файлів коду
Поки в бета-версії, спробувати можна безкоштовно.
🇺🇦 iOSDevUA
www.alexcodes.app
Alex - Xcode AI Coding Assistant
Alex is the ultimate tool for iOS and Swift app development, empowering developers with AI for Xcode to streamline workflows, tackle complex coding challenges, and boost productivity. Discover what makes it an essential asset for modern app creation.
🔥3
💡Що таке краш в iOS: детальний розбір
Звичайно, факт того, що краш — це завершення роботи додатка, є очевидним.
Джейкоб Бартлетт розглядає природу збоїв з іншого боку, адже насправді система викликає краш, щоб зберегти пристрій в безпеці.
📖 Ділюсь чудовою статтею, у якій складна тема розглядається з гумором (і навіть наведені 9 рівнів зла від падіння фрейм-рейту до компрометації системи в цілому).
Розглядаються збої не тільки в рантаймі, але й в ядрі XNU, а також зазначено, чому краши — далеко не найгірше, що може статися з пристроєм.
🇺🇦 iOSDevUA
Звичайно, факт того, що краш — це завершення роботи додатка, є очевидним.
Джейкоб Бартлетт розглядає природу збоїв з іншого боку, адже насправді система викликає краш, щоб зберегти пристрій в безпеці.
📖 Ділюсь чудовою статтею, у якій складна тема розглядається з гумором (і навіть наведені 9 рівнів зла від падіння фрейм-рейту до компрометації системи в цілому).
Розглядаються збої не тільки в рантаймі, але й в ядрі XNU, а також зазначено, чому краши — далеко не найгірше, що може статися з пристроєм.
🇺🇦 iOSDevUA
🔥5👍1🤩1
💡Swift проти мемів
Ладно, а тепер – справжня головна новина тижня. На форумі Swift заборонили меми, тож, за властивістю транзитивності, публікувати меми тепер заборонено і всім айосерам.
🇺🇦 iOSDevUA
Ладно, а тепер – справжня головна новина тижня. На форумі Swift заборонили меми, тож, за властивістю транзитивності, публікувати меми тепер заборонено і всім айосерам.
🇺🇦 iOSDevUA
💡Виявлення облич на зображеннях за допомогою фреймворку Vision
Розпізнавання облич може бути корисним інструментом для багатьох додатків.
Наприклад, в системному «Фото» від Apple це використовується для організації спеціальної колекції.
В iOS 18 для розробників з’явилася можливість використовувати новий запит FaceObservation, який спрощує роботу з такими завданнями.
📖 Доступне пояснення та приклад використання є в цій статті.
🇺🇦 iOSDevUA
Розпізнавання облич може бути корисним інструментом для багатьох додатків.
Наприклад, в системному «Фото» від Apple це використовується для організації спеціальної колекції.
В iOS 18 для розробників з’явилася можливість використовувати новий запит FaceObservation, який спрощує роботу з такими завданнями.
📖 Доступне пояснення та приклад використання є в цій статті.
🇺🇦 iOSDevUA
🔥1
💡Невеликий матеріал про те, як запитати у Apple прискорене рев’ю вашого додатку. Наприклад, тому що ви терміново хочете випустити фікс критичної помилки 😱
Сподіваюся, що багато хто вже знає про це, але в будь-якому випадку ось:
👉 https://www.polpiella.dev/expedited-app-reviews
🇺🇦 iOSDevUA
Сподіваюся, що багато хто вже знає про це, але в будь-якому випадку ось:
👉 https://www.polpiella.dev/expedited-app-reviews
🇺🇦 iOSDevUA
www.polpiella.dev
How to expedite an app review on the App Store
A guide on how you can use expedited app reviews in exceptional circumstances to get your app reviewed faster than normal on the App Store.
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
💡Ефект переливаючогося стикера на Metal+Swift
🤩 Знайшов блискучу (в прямому і переносному сенсі) реалізацію фойл-ефекту. До речі, автор пише, що намагався відтворити те, що можна побачити в різних картках, наприклад, у покемонах.
Використано одразу кілька шейдерів і модифікацій всередині.
📖 Бонусом йде репозиторій з кодом (з коробки доступно для налаштування кілька параметрів).
🇺🇦 iOSDevUA
🤩 Знайшов блискучу (в прямому і переносному сенсі) реалізацію фойл-ефекту. До речі, автор пише, що намагався відтворити те, що можна побачити в різних картках, наприклад, у покемонах.
Використано одразу кілька шейдерів і модифікацій всередині.
📖 Бонусом йде репозиторій з кодом (з коробки доступно для налаштування кілька параметрів).
🇺🇦 iOSDevUA
❤5
💡Життєвий цикл тестів у Swift Testing
У статті розбирається структура лайфсайкла окремих тестів та тест-сьютів у новому пакеті swift-testing.
🇺🇦 iOSDevUA
У статті розбирається структура лайфсайкла окремих тестів та тест-сьютів у новому пакеті swift-testing.
🇺🇦 iOSDevUA
Swift with Majid
Introducing Swift Testing. Lifecycle.
Any function marked with the @Test macro can be a test in the world of the Swift Testing framework. But how do you handle the lifecycle of the tests? How do you define test suites and provide setup and teardown functionality? This week, we will learn how…
💡Докладне пояснення роботи з Environment в SwiftUI
Автор статті вважає, що SwiftUI справжнім чином революціонізував розробку додатків завдяки декларативному синтаксису та реактивній обробці даних, значно спростивши створення динамічних та відзивчивих користувацьких інтерфейсів.
В основі фреймворка лежить обгортка властивостей
📖 У статті детально описані різні механізми, від класичних протоколів
А ще приділено увагу продуктивності та складним ієрархіям view в додатку.
🇺🇦 iOSDevUA
Автор статті вважає, що SwiftUI справжнім чином революціонізував розробку додатків завдяки декларативному синтаксису та реактивній обробці даних, значно спростивши створення динамічних та відзивчивих користувацьких інтерфейсів.
В основі фреймворка лежить обгортка властивостей
@Environment (і пов’язані з цим інструменти).📖 У статті детально описані різні механізми, від класичних протоколів
@EnvironmentObject і ObservableObject до відносно нових макросів @Observable і @Bindable.А ще приділено увагу продуктивності та складним ієрархіям view в додатку.
🇺🇦 iOSDevUA
👍2❤1
💡Системний промпт для Apple Intelligence
Інженери в Apple, так само як і всі інші, не дуже добре розуміють, як взагалі працює LLM.
🇺🇦 iOSDevUA
Інженери в Apple, так само як і всі інші, не дуже добре розуміють, як взагалі працює LLM.
🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Інтеграція Live Activity і Dynamic Island в iOS: докладний посібник
📖 У масштабній статті описані етапи, які дозволяють ефективно інтегрувати Live Activities та Dynamic Island у додаток для iOS.
Плюс у тому, що розглянуто кожен крок: від обмежень дизайну до обробки оновлень.
📺 Також матеріал доступний у форматі відео.
🇺🇦 iOSDevUA
📖 У масштабній статті описані етапи, які дозволяють ефективно інтегрувати Live Activities та Dynamic Island у додаток для iOS.
Плюс у тому, що розглянуто кожен крок: від обмежень дизайну до обробки оновлень.
📺 Також матеріал доступний у форматі відео.
🇺🇦 iOSDevUA
❤5👍1
🚀 Swift Pathway – офіційний гайд по мові
Apple випустили чудовий вступний гайд по Swift, який можна надсилати всім, хто цікавиться цією мовою: розбір базових концепцій та фіч, сумісність з різними платформами та безліч посилань на детальні матеріали по кожній темі.
🇺🇦 iOSDevUA
Apple випустили чудовий вступний гайд по Swift, який можна надсилати всім, хто цікавиться цією мовою: розбір базових концепцій та фіч, сумісність з різними платформами та безліч посилань на детальні матеріали по кожній темі.
🇺🇦 iOSDevUA
👍1
💡swift-format в Xcode 16
У Xcode 16 з’явився вбудований автоформаттер для коду. Автор статті порівнює його результати з SwiftLint та Prettier і розбирає, як правильно налаштувати його для вашого проєкту.
🇺🇦 iOSDevUA
У Xcode 16 з’явився вбудований автоформаттер для коду. Автор статті порівнює його результати з SwiftLint та Prettier і розбирає, як правильно налаштувати його для вашого проєкту.
🇺🇦 iOSDevUA
👍3❤1🔥1
💡Чому xcodebuild працює повільніше в GUI Xcode
Якщо ви збираєте iOS додаток на CI або з консолі, не відкриваючи Xcode, ви безпосередньо використовуєте xcodebuild. І є концептуальна проблема – інкрементальні білди працюють суттєво повільніше, ніж при збірці з Xcode. Це в основному спричинено тим, що Xcode використовує набір приватних API для того, щоб тримати сервіс постійно прогрітим, а в CLI його доводиться щоразу запускати вручну. Однак є кілька способів трохи покращити ситуацію, які і розглядаються в статті.
🇺🇦 iOSDevUA
Якщо ви збираєте iOS додаток на CI або з консолі, не відкриваючи Xcode, ви безпосередньо використовуєте xcodebuild. І є концептуальна проблема – інкрементальні білди працюють суттєво повільніше, ніж при збірці з Xcode. Це в основному спричинено тим, що Xcode використовує набір приватних API для того, щоб тримати сервіс постійно прогрітим, а в CLI його доводиться щоразу запускати вручну. Однак є кілька способів трохи покращити ситуацію, які і розглядаються в статті.
🇺🇦 iOSDevUA
Medium
Why is xcodebuild slower than the Xcode GUI?
There is a bug, but also it’s designed to be that way
❤1👍1
💡Локальні LLM для iOS розробки
У статті розглядається, як завантажити локальну безкоштовну модель, налаштувати її та інтегрувати з Alex Sidebar.
🇺🇦 iOSDevUA
У статті розглядається, як завантажити локальну безкоштовну модель, налаштувати її та інтегрувати з Alex Sidebar.
🇺🇦 iOSDevUA
Daniel's Journal
How to Set Up a Local AI Model with Xcode, Ollama, Qwen2.5-Coder & Alex Sidebar
I wanted to test out Alex Sidebar (eg a desktop client that aims to enable Cursor like features in Xcode) to explore how well a local custom model could perform during development.
💡Оптимальний спосіб пошуку входження рядка за користувацьким запитом
У різних мовах можуть бути різні варіанти написання одного й того ж терміну. Тому, при реалізації пошуку входжень підрядка за запитом користувача, найкраще скористатися функцією
🇺🇦 iOSDevUA
У різних мовах можуть бути різні варіанти написання одного й того ж терміну. Тому, при реалізації пошуку входжень підрядка за запитом користувача, найкраще скористатися функцією
localizedStandardRange(of:). Вона імітує стандартну поведінку пошуку в iOS, ігноруючи особливості написання та діакритичні знаки.🇺🇦 iOSDevUA
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
💡Підбірка експериментальних анімацій на SwiftUI з кодом
😎 Майкл Лі — дизайнер, який любить створювати прототипи з нестандартними підходами.
Нещодавно він зробив відкритий доступ до всієї колекції (і обіцяє продовжувати її поповнювати).
🛠 Ознайомитися з прикладами можна на GitHub.
🇺🇦 iOSDevUA
😎 Майкл Лі — дизайнер, який любить створювати прототипи з нестандартними підходами.
Нещодавно він зробив відкритий доступ до всієї колекції (і обіцяє продовжувати її поповнювати).
🛠 Ознайомитися з прикладами можна на GitHub.
🇺🇦 iOSDevUA
❤2
💡Оптимізація процесу компіляції та виконання тестів у Xcode
⏳ Компіляція проєктів Xcode може займати багато часу (особливо після очищення кешу).
При цьому час компіляції зазвичай зростає динамічно разом з розширенням проєкту, а швидкість збірок часто підвищується лише завдяки оновленню апаратного забезпечення, що є дорогим процесом.
Протягом багатьох років у Tuist вкладали ресурси в розв’язання цієї проблеми, використовуючи найбільш оригінальний і економічно ефективний підхід за допомогою фіч Xcode.
📖 У цій статті розробники з Tuist пояснюють, що саме може уповільнювати швидкість збірки проєктів, які кроки можна зробити та чому прев’ю в SwiftUI можуть зникати через проблеми з билд-системою самого Xcode.
🇺🇦 iOSDevUA
⏳ Компіляція проєктів Xcode може займати багато часу (особливо після очищення кешу).
При цьому час компіляції зазвичай зростає динамічно разом з розширенням проєкту, а швидкість збірок часто підвищується лише завдяки оновленню апаратного забезпечення, що є дорогим процесом.
Протягом багатьох років у Tuist вкладали ресурси в розв’язання цієї проблеми, використовуючи найбільш оригінальний і економічно ефективний підхід за допомогою фіч Xcode.
📖 У цій статті розробники з Tuist пояснюють, що саме може уповільнювати швидкість збірки проєктів, які кроки можна зробити та чому прев’ю в SwiftUI можуть зникати через проблеми з билд-системою самого Xcode.
🇺🇦 iOSDevUA
💡Параметризовані тести в swift-testing
Параметризовані тести — зручний спосіб запускати відразу кілька схожих тестів з однаковою логікою, але з різними вхідними даними. Swift Testing дає змогу задавати ці параметри за допомогою спеціального макросу, замість того щоб визначати їх вручну в тілі тесту. Це робить репорти набагато зрозумілішими.
У статті також розглядається, як управляти логікою комбінації параметрів, коли на вхід подається кілька значень одночасно.
🇺🇦 iOSDevUA
Параметризовані тести — зручний спосіб запускати відразу кілька схожих тестів з однаковою логікою, але з різними вхідними даними. Swift Testing дає змогу задавати ці параметри за допомогою спеціального макросу, замість того щоб визначати їх вручну в тілі тесту. Це робить репорти набагато зрозумілішими.
У статті також розглядається, як управляти логікою комбінації параметрів, коли на вхід подається кілька значень одночасно.
🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Реалізація пошукових підказок у SwiftUI
🔎 Модифікатор
У поєднанні з відслідковуванням історії пошуку можна створити інтуїтивно зрозумілий інтерфейс, який допоможе користувачам швидко знаходити те, що вони шукають, а також легко повертатися до раніше переглянутих елементів.
📖 У цьому матеріалі розглядається, як впровадити таку функцію в додаток поетапно:
1️⃣ Реалізація фільтрації пошуку в реальному часі.
2️⃣ Впровадження підказок.
3️⃣ Відслідковування історії пошуку.
4️⃣ Створення зручної навігації.
🇺🇦 iOSDevUA
🔎 Модифікатор
searchSuggestions(_:) — це корисна функція, яка покращує роботу пошуку в додатках для iOS.У поєднанні з відслідковуванням історії пошуку можна створити інтуїтивно зрозумілий інтерфейс, який допоможе користувачам швидко знаходити те, що вони шукають, а також легко повертатися до раніше переглянутих елементів.
📖 У цьому матеріалі розглядається, як впровадити таку функцію в додаток поетапно:
1️⃣ Реалізація фільтрації пошуку в реальному часі.
2️⃣ Впровадження підказок.
3️⃣ Відслідковування історії пошуку.
4️⃣ Створення зручної навігації.
🇺🇦 iOSDevUA