🇺🇦 iOS Dev UA - спільнота iOS розробників
الذهاب إلى القناة على Telegram
Перша україномовна спільнота iOS розробників 🇺🇦 👨💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel
إظهار المزيد383
المشتركون
-124 ساعات
-17 أيام
+830 أيام
أرشيف المشاركات
📲Фіналісти Apple Design Awards 2024
Оголосили фіналістів щорічної премії Apple Design Awards. Із найцікавішого:
👉 Arc Search отримує премію в категорії Interaction за переосмислення мобільного браузера.
👉 Crouton інді-додаток для менеджменту рецептів, також нагороджується за Interaction.
👉 Meditate додаток для медитацій, нагороджується в категорії Visuals за круті анімації мандали на SwiftUI.
👉 Copilot Money отримує премію за інновації, за застосування ML для управління особистими фінансами.
🇺🇦 iOSDevUA
💡Налаштовувана кнопка з різними станами у SwiftUI
Звісно, завдання мобільних розробників далеко не тільки в зміні кольорів кнопок, але знати кілька підходів і володіти арсеналом таких навичок необхідно.
SwiftUI значно спрощує створення багаторазової кнопки (і додавання конфігурацій).
📖 Ось тут можна побачити підходи до створення такого елемента на реальних прикладах.
🇺🇦 iOSDevUA
💡Якщо ви займаєтесь розробкою під macOS і вирішили спробувати
SwiftUI, то з чогось починати все-таки потрібно. Ось невеликий матеріал про різні типи Scenes у SwiftUI. Це не найповніший і найдетальніший матеріал, але ті пункти, які він охоплює, описані досить детально та зрозуміло!
👉 https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/
🇺🇦 iOSDevUA💡Пояснення використання @preconcurrency в Swift
Якщо включити -strict-concurrency для своїх існуючих проєктів, то, ймовірніше за все, при першій компіляції проєкту Xcode видасть безліч попереджень і/або помилок.
Цього можна уникнути з використанням @preconcurrency, який можна використовувати для:
👉 functions
👉 types
👉 protocols
👉 imports
За допомогою @preconcurrency з'являється можливість імпортувати старі модулі в новий код.
Це чудовий спосіб поступово впроваджувати строгий паралелізм у міру наближення випуску Swift 6.
📖 У цьому пості розглянуті приклади використання і помилки, які можуть зустрітися.
🇺🇦 iOSDevUA
💡Останнім часом (вже досить довго) SPM набирає популярність і, чесно кажучи, він досить непоганий, хоча деякі питання до нього все ж є.
Отже, якщо раптом хочете додати в свій SDK підтримку SPM або все-таки вирішили розбити проєкт на модулі за допомогою все того ж SPM, то ловіть хорошу покрокову інструкцію, як створити такий package! 👍
👉 https://www.avanderlee.com/swift/creating-swift-package-manager-framework/
🇺🇦 iOSDevUA
📲 Як зробити іконку застосунку анімованою?
Напевно, багато хто міг задуматися раніше, як уникнути алерта при виборі альтернативної іконки.
Bryce Bostwick, розробник, відомий своїми чудовими постами про реверс-інжиніринг, спробував заглибитися в це питання і написав велике дослідження про те, як створити ілюзію анімації (насправді для цього потрібно досить часто змінювати ці іконки).
📖 Прочитати захоплюючу статтю можна тут (і рекомендую подивитися інші статті блогу).
📺 У форматі відео ось тут.
🛠 Демо-проєкт (подивитися і спробувати повторити) доступний на github.
🇺🇦 iOSDevUA
💡Get API – новий аналог Postman
Якщо ви втомилися від перенасиченості Postman функціями, а Insomnia з якихось причин теж не підходить, зверніть увагу на Get API. Основні переваги:
👉 Нативний додаток для macOS, не перенасичений функціями та складним інтерфейсом
👉 Підтримує роботу як з REST, так і з вебсокетами
👉 Не вимагає створення облікових записів, використовує GitHub як джерело правди
🇺🇦 iOSDevUA
💡Якщо ви любите використовувати ChatGPT і просити його написати за вас код, то ось вам стаття з 5 підказками, як покращити цей процес і як краще просити ChatGPT виконати необхідну вам задачу! 🤖
👉 https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/
🇺🇦 iOSDevUA
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/
💡Про iOS розробку в Revolut
Оглядова стаття про те, як у Revolut організована iOS розробка у всіх їх додатках. Цікаві факти:
👉 Використовується Clean Architecture, змішана з MVVM-C.
👉 Додатки розбиті на модулі, 160 поширені між усіма проектами, ще 170 в основному додатку.
👉 Щодо технічного стека: Swift, Bazel, мінімум залежностей від сторонніх фреймворків.
👉 Всього над їх проектами працює 120 iOS-розробників.
👉 Регулярно виконується 150.000 юніт тестів і 3.000 UI тестів.
🇺🇦 iOSDevUA
💡Невеликий матеріал для загального розвитку. Про те, що відбувається зі SwiftUI прев'ю та прев'ю контентом під час білда для стора, потрапляють вони туди чи ні, і ще трохи деталей.
Можливо, до речі, хтось захоче трохи оптимізувати свій код і додати перевірок після прочитання цього матеріалу 🤔
👉 https://jaredsinclair.com/2024/05/20/preview-content.html
🇺🇦 iOSDevUA
💡Якщо ви пишете свою SDK, або, наприклад, збираєте свій проєкт із модулів, то, можливо, вам буде цікава ця стаття!
Про такий модифікатор, як
@_spi. Що він робить, для чого потрібен, і як з його допомогою покращити API ваших компонентів.
Звісно, атрибут поки що експериментальний, але, можливо, ситуація скоро зміниться.
У будь-якому випадку, варто дізнатися про нього 👍
👉 https://varanios.com/articles/spi-or-how-to-develop-better-apis-in-swift/
🇺🇦 iOSDevUA🔥Колекція шпалер Futuristic iPod, ностальгічну данину культовому портативному музичному плеєру початку 2000-х. Пориньте у ретро музичну атмосферу та додайте унікального вигляду своєму iPhone за допомогою вибору кастомних дизайнів та яскравих кольорів.
Повний пак 👉 https://wallpapersapp.gumroad.com/l/musicipodwallpapers
🇺🇦 iOSDevUA
💡mise – зручний менеджер версій для інструментів
mise – менеджер версій, який дозволяє централізовано керувати версіями консольних інструментів, що використовуються як локально, так і на CI. Створюєте
toml файл, визначаєте там потрібні версії, додаєте його до репозиторію проєкту – і готово!
🇺🇦 iOSDevUA💡Function Body Macros
У Swift прийняли пропозал, що додає до системи макросів можливість замінювати або аугментувати тіло функції. Коротше кажучи, це такий свіззлінг, але в компайл-таймі.
Ця функція відкриває багато можливостей, наприклад:
👉 Автоматичне логування виклику функції та переданих аргументів
👉 Перетворення звичайних функцій на RPC
🇺🇦 iOSDevUA
Катерина з команди Uklon поділилась досвідом впровадження SwiftUI в UIKit проєкт ✨
З якими викликами стикнулась Uklon Tech iOS команда на цьому шляху та які рішення були імплементовані в процесі 🔥
👉 https://dou.ua/forums/topic/48905/
🇺🇦 iOSDevUA
💡Як і коли запитувати відгуки на додаток
Тред з обговоренням особливостей роботи з requestReview API, яке показує користувачу пропозицію оцінити додаток. Основна складність у тому, що розробник безпосередньо не керує появою цього алерта, так само як і не може дізнатися, чи був він показаний.
👉 Приблизні бенчмарки кількості оцінок до кількості завантажень: 1.5-2.5%.
👉 Конкретних стратегій дуже багато, але народна мудрість каже, що краще запитувати відгук не відразу на старті додатку, а після завершення цільової дії.
👉 Найбільше хвалять показ за поєднанням наступних факторів: 5 запусків додатку, кілька виконаних цільових дій, і хоча б тиждень, що минув з першого запуску.
🇺🇦 iOSDevUA
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
