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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Function Body Macros

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

Ця функція відкриває багато можливостей, наприклад:
👉 Автоматичне логування виклику функції та переданих аргументів
👉 Перетворення звичайних функцій на RPC

🇺🇦 iOSDevUA
💡mise – зручний менеджер версій для інструментів

mise – менеджер версій, який дозволяє централізовано керувати версіями консольних інструментів, що використовуються як локально, так і на CI. Створюєте toml файл, визначаєте там потрібні версії, додаєте його до репозиторію проєкту – і готово!

🇺🇦 iOSDevUA
🔥Колекція шпалер Futuristic iPod, ностальгічну данину культовому портативному музичному плеєру початку 2000-х. Пориньте у ретро музичну атмосферу та додайте унікального вигляду своєму iPhone за допомогою вибору кастомних дизайнів та яскравих кольорів.

Повний пак 👉 https://wallpapersapp.gumroad.com/l/musicipodwallpapers

🇺🇦 iOSDevUA
👍1🔥1
💡Якщо ви пишете свою SDK, або, наприклад, збираєте свій проєкт із модулів, то, можливо, вам буде цікава ця стаття!
Про такий модифікатор, як @_spi. Що він робить, для чого потрібен, і як з його допомогою покращити API ваших компонентів.
Звісно, атрибут поки що експериментальний, але, можливо, ситуація скоро зміниться.
У будь-якому випадку, варто дізнатися про нього 👍

👉 https://varanios.com/articles/spi-or-how-to-develop-better-apis-in-swift/

🇺🇦 iOSDevUA
💡Невеликий матеріал для загального розвитку. Про те, що відбувається зі SwiftUI прев'ю та прев'ю контентом під час білда для стора, потрапляють вони туди чи ні, і ще трохи деталей.
Можливо, до речі, хтось захоче трохи оптимізувати свій код і додати перевірок після прочитання цього матеріалу 🤔

👉 https://jaredsinclair.com/2024/05/20/preview-content.html

🇺🇦 iOSDevUA
1
💡Про iOS розробку в Revolut

Оглядова стаття про те, як у Revolut організована iOS розробка у всіх їх додатках. Цікаві факти:

👉 Використовується Clean Architecture, змішана з MVVM-C.
👉 Додатки розбиті на модулі, 160 поширені між усіма проектами, ще 170 в основному додатку.
👉 Щодо технічного стека: Swift, Bazel, мінімум залежностей від сторонніх фреймворків.
👉 Всього над їх проектами працює 120 iOS-розробників.
👉 Регулярно виконується 150.000 юніт тестів і 3.000 UI тестів.

🇺🇦 iOSDevUA
👍1
Hello iOS developers! New digest is here!

Hello everyone! New iOS weekly digest is here!
🚀🚀🚀 Last Week at Apple 🚀 🚀 🚀

The fundamentals of iOS at Revolut
Let’s take a look behind the scenes of the iOS development at Revolut, where we strive to provide exceptional financial services and seamless customer experiences for the customers who rely on our iOS apps to manage their financial lives:
https://medium.com/revolut/the-fundamentals-of-ios-at-revolut-f75acb765ac8

Previews
How to get the most out of Xcode Previews
https://www.manu.show/2024-05-30-previews

Bad practice: not using a ButtonStyle
Very interesting article about issues that you can face with buttons:
https://www.swiftwithvincent.com/blog/bad-practice-not-using-a-buttonstyle

Scenes types in a SwiftUI Mac app
Creating versatile and efficient macOS applications with SwiftUI involves understanding how to use various scene types. Scenes in SwiftUI manage and display their contents through windows, with different scene types offering distinct behaviors and capabilities. In this post, we'll explore the different scene types available in SwiftUI for macOS, including WindowGroup, DocumentGroup, Settings, Window, and MenuBarExtra:
https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp

Nice thread discussion about requesting application review from the user:
https://iosdev.space/@matt1corey/112474715937446698

Do NOT init State externally in SwiftUI
https://samwize.com/2024/05/08/do-not-init-state-externally-in-swiftui-view

#tools
A new Postman alternative:
https://getapi.io/
1
💡Якщо ви любите використовувати ChatGPT і просити його написати за вас код, то ось вам стаття з 5 підказками, як покращити цей процес і як краще просити ChatGPT виконати необхідну вам задачу! 🤖

👉 https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/

🇺🇦 iOSDevUA
💡Get API – новий аналог Postman

Якщо ви втомилися від перенасиченості Postman функціями, а Insomnia з якихось причин теж не підходить, зверніть увагу на Get API. Основні переваги:

👉 Нативний додаток для macOS, не перенасичений функціями та складним інтерфейсом
👉 Підтримує роботу як з REST, так і з вебсокетами
👉 Не вимагає створення облікових записів, використовує GitHub як джерело правди

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
📲 Як зробити іконку застосунку анімованою?

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

Bryce Bostwick, розробник, відомий своїми чудовими постами про реверс-інжиніринг, спробував заглибитися в це питання і написав велике дослідження про те, як створити ілюзію анімації (насправді для цього потрібно досить часто змінювати ці іконки).

📖 Прочитати захоплюючу статтю можна тут (і рекомендую подивитися інші статті блогу).

📺 У форматі відео ось тут.

🛠 Демо-проєкт (подивитися і спробувати повторити) доступний на github.

🇺🇦 iOSDevUA
2
💡Останнім часом (вже досить довго) SPM набирає популярність і, чесно кажучи, він досить непоганий, хоча деякі питання до нього все ж є.
Отже, якщо раптом хочете додати в свій SDK підтримку SPM або все-таки вирішили розбити проєкт на модулі за допомогою все того ж SPM, то ловіть хорошу покрокову інструкцію, як створити такий package! 👍

👉 https://www.avanderlee.com/swift/creating-swift-package-manager-framework/

🇺🇦 iOSDevUA
💡Пояснення використання @preconcurrency в Swift

Якщо включити -strict-concurrency для своїх існуючих проєктів, то, ймовірніше за все, при першій компіляції проєкту Xcode видасть безліч попереджень і/або помилок.

Цього можна уникнути з використанням @preconcurrency, який можна використовувати для:

👉 functions
👉 types
👉 protocols
👉 imports

За допомогою @preconcurrency з'являється можливість імпортувати старі модулі в новий код.

Це чудовий спосіб поступово впроваджувати строгий паралелізм у міру наближення випуску Swift 6.

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

🇺🇦 iOSDevUA
💡Якщо ви займаєтесь розробкою під macOS і вирішили спробувати SwiftUI, то з чогось починати все-таки потрібно. Ось невеликий матеріал про різні типи Scenes у SwiftUI. Це не найповніший і найдетальніший матеріал, але ті пункти, які він охоплює, описані досить детально та зрозуміло!

👉 https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/

🇺🇦 iOSDevUA
2
💡Налаштовувана кнопка з різними станами у SwiftUI

Звісно, завдання мобільних розробників далеко не тільки в зміні кольорів кнопок, але знати кілька підходів і володіти арсеналом таких навичок необхідно.

SwiftUI значно спрощує створення багаторазової кнопки (і додавання конфігурацій).

📖 Ось тут можна побачити підходи до створення такого елемента на реальних прикладах.

🇺🇦 iOSDevUA
2