🇺🇦 iOS Dev UA - спільнота iOS розробників
384 subscribers
399 photos
42 videos
9 files
960 links
Перша україномовна спільнота iOS розробників 🇺🇦

👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple.
Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple.

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Чи варто переходити на Swift 6 у 2025 році?

Донні Уолс ставить це питання і наводить кілька важливих моментів, на які слід звернути увагу.

Хоча відповідь залежить від багатьох факторів: проєкт, над яким ви працюєте, команда, з якою співпрацюєте, і рівень знань Swift Concurrency, Донні зосередився на розборі існуючих проблем і викликів.

📖 Повний текст статті можна прочитати тут.

🇺🇦 iOSDevUA
💡Реалізація підтримки JWT на Swift сервері

Мені дуже подобається блог SwiftOnServer. Хлопці публікують корисні туторіали, що показують, як вирішувати найпоширеніші задачі серверної розробки за допомогою актуальної екосистеми Swift. Цього разу вони розглядають, як за допомогою JWTKit реалізувати авторизацію на основі JWT.

🇺🇦 iOSDevUA
💡1Password CLI для роботи з секретами

У цій статті розглядається чудовий підхід до роботи з секретами, який є надійнішим і зручнішим, ніж зберігання їх у .env файлах. Крім того, це перша стаття за довгий час на легендарному блозі NSHipster!

🇺🇦 iOSDevUA
1
💡Відстежуємо стабільність API бібліотек

Одна з найскладніших задач у розвитку бібліотеки — це підтримка зворотної сумісності.

Як Swift-розробник, у вас є кілька інструментів для відстеження змін, що ламають сумісність. У статті детально порівнюються всі ці інструменти:

👉Інструменти, доступні в SPM з коробки
👉xcodebuild та swift-api-digester
👉Swift Public API diff

🇺🇦 iOSDevUA
💡Як швидко локалізувати додаток за допомогою AI

Локалізація додатку на потрібні мови тепер стала значно простішою. У статті розглядається один з варіантів робочого процесу, де для отримання початкового перекладу використовується AI, а для перевірки — сервіс POEditor, з залученням волонтерів.

🇺🇦 iOSDevUA
Додатки без статусу трейдера будуть видалені з App Store

Apple нагадали, що з 17 лютого 2025 року додатки без статусу трейдера будуть видалятися з App Store в країнах Європейського Союзу, поки цей статус не буде наданий та, за потреби, підтверджений.

🔗 Детальніше про новину можна дізнатися тут.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 У Xcode 16 можна створити новий файл, просто скопіювавши код у буфер обміну, вибравши потрібну директорію в навігаторі та натиснувши “вставити”.

🇺🇦 iOSDevUA
👍1
💡Для чого потрібен @discardableResult в Swift?

Багато функцій повертають значення, але іноді нам не важливо, яке саме значення вони повертають. У таких випадках корисно ігнорувати попередження, наприклад, при логуванні.

Тут стане в нагоді @discardableResult. Проте, якщо значення часто використовуються, така практика може бути не найкращою. В такому разі краще використовувати нижнє підкреслення _ для вимкнення набридливого попередження.

📖 Дивіться приклади використання: тут і в цій статті.

🇺🇦 iOSDevUA
👍3
💡Навчальний матеріал про використання шаблонів із Mustache.

Це може бути корисно, наприклад, якщо потрібно обробити дані та динамічно підставити їх у потрібні місця. Особливо актуально для роботи з HTML-рядками, коли потрібно доповнити дані з сервера клієнтськими.

👉 https://swifttoolkit.dev/posts/swift-mustache

🇺🇦 iOSDevUA
👍1
💡Робота з Lists в SwiftUI: типи, приклади та налаштування

Lists є одним з найбільш часто використовуваних елементів при створенні додатків, особливо для реалізації навігації.

Ми маємо доступ до різних стилів і налаштувань, таких як зміна фону, підтримка вибору елементів та додавання секцій.

📖 У цій статті розглядаються різні варіанти верстки і на прикладах показано, як можна налаштовувати цей елемент.

🇺🇦 iOSDevUA
2
💡React Native у Shopify

Shopify – одна з найбільш відомих компаній, що використовує React Native. Їхній досвід часто згадують на конференціях, а сама команда активно сприяє розвитку як фреймворку, так і його екосистеми, постійно впроваджуючи інновації. У своєму матеріалі Shopify підсумовують п’ять років роботи з React Native, на який зрештою було переведено більшість їхніх проєктів.

🇺🇦 iOSDevUA
🥴3
💡Навіщо потрібен метод init(coder:) для View Controllers?

Якщо ви нещодавно почали працювати з UIKit або перейшли до верстки кодом, то, ймовірно, стикалися з помилкою:

'required' initializer 'init(coder:)' must be provided by subclass of 'UIViewController'

Ця помилка виникає при створенні контролерів програмно (а не з XIB або storyboard).

Чому це відбувається?

Клас UIViewController відповідає протоколу NSCoding.

Коли ми створюємо його програмно, ми повинні дотримуватися цього протоколу, що включає необхідність реалізації ініціалізатора, навіть якщо ми його не використовуємо безпосередньо.

Як це працює в Storyboard: під час виконання часу, UIStoryboard створює контролер програмно, кодує його за допомогою протоколу NSCoding, а потім передає архів даних у метод init(coder:), що використовується для відтворення стану контролера.

📖 Докладне пояснення можна знайти в цій статті.

🇺🇦 iOSDevUA
💡Tab View Styles в SwiftUI

Модифікатор .tabViewStyle у SwiftUI дозволяє налаштовувати нестандартну поведінку вкладок у таб-барі. Наприклад, він дає можливість користувачам змінювати порядок вкладок за допомогою функції drag-and-drop.

🇺🇦 iOSDevUA
2
💡Як AI змінює розробку

Цей лонгрид розглядає, як сучасний стан AI змінює патерни розробки програмного забезпечення. Ось кілька ідей:

👉 Розробників можна поділити на дві категорії: бутстрапери — ті, хто використовує генератори додатків для швидкого створення прототипів, та ітератори — ті, хто працює над існуючою кодовою базою за допомогою AI, вдосконалюючи зміни.
👉 AI дозволяє швидко виконати перші 70% роботи, але для більшості решта 30% стають справжнім випробуванням.
👉 Ті, хто успішно працює з AI, не просто приймають згенерований код, а розбивають його на модулі, додають обробку edge кейсів, перевіряють та покращують інтерфейси, типи та архітектурні рішення, додають обробку помилок.
👉 AI допомагає senior-розробникам, але для новачків може бути суттєвим бар’єром.

🇺🇦 iOSDevUA
2
💡TabletopKit – фреймворк для кооперативних ігор у visionOS

Майбутнє visionOS поки що залишається невизначеним: виробництво дорогих моделей припинили, а поява більш доступних рішень під питанням. Проте технології, що лежать у його основі, досі викликають інтерес. Наприклад, у цьому матеріалі розглядається використання фреймворку TabletopKit для створення кооперативної гри в жанрі escape room. Також детально описані виклики, з якими зіткнулися розробники.

🇺🇦 iOSDevUA
2🔥1
💡Огляд Advanced Commerce API

🔗 Apple представила новий API для керування великими каталогами внутрішніх покупок та підписок в App Store.

📖 У статті детально розглядається, кому цей API буде корисним, які можливості він відкриває та які має обмеження.

🇺🇦 iOSDevUA
1
📲 В AppStore Connect обновили сторінку з відгуками

🇺🇦 iOSDevUA
👍1
Apple відкрили вихідний код Swift Build! 🎉

Чудовий початок року для Swift-розробників! Apple відкрили вихідний код Swift Build – системи збірки, яка працює під капотом Xcode. Тепер вона доступна у відкритому репозиторії GitHub.

📌 Що це означає?
Підтримка всіх типів Swift-проєктів: пакетів, CLI-інструментів і GUI-додатків.
Нові можливості для інтеграції Swift в інші IDE.
Великий потенціал для кастомізації та оптимізації процесів збірки.

Очікуємо на ще більше гнучкості та інновацій у Swift-екосистемі! 🚀

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення універсального компонента для меню в SwiftUI

📖 У статті автор пояснює, як створити багаторазовий компонент меню для SwiftUI та кастомізувати його під власні потреби.

Основні аспекти, що розглядаються:
👉 Прототипування – створення базової версії меню.
👉 Кастомні View Modifiers – як додавати та використовувати.
👉 View Builders – відокремлення UI від бізнес-логіки.
👉 Налаштування стилів – створення унікального вигляду для меню.

🇺🇦 iOSDevUA
💡Якщо у вашому застосунку використовується WebView і потрібно налаштувати взаємодію між веб-контентом та нативною частиною, ось короткий навчальний матеріал, який допоможе розібратися з цим процесом.

👉 https://medium.com/swlh/web-to-native-code-communication-on-ios-using-wkscriptmessagehandler-8d307b3847fa

🇺🇦 iOSDevUA
💡Стаття про те, як тестувати застосунок в умовах повільного інтернету. Так, автор згадує власний інструмент, але він може стати в пригоді. Крім того, у матеріалі пояснюється, навіщо це потрібно, як імітувати повільне з’єднання і що враховувати під час тестування.

👉 https://www.avanderlee.com/debugging/network-link-conditioner-utility/

🇺🇦 iOSDevUA