uk
Feedback
🇺🇦 iOS Dev UA - спільнота iOS розробників

🇺🇦 iOS Dev UA - спільнота iOS розробників

Відкрити в Telegram

Перша україномовна спільнота iOS розробників 🇺🇦 👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel

Показати більше
384
Підписники
Немає даних24 години
+37 днів
+1130 день
Архів дописів
💡SharingGRDB – альтернатива SwiftData Команда Pointfree представила SharingGRDB, яка може стати альтернативою SwiftData. 🔹 Схожий API, як у SwiftData, що спрощує міграцію. 🔹 Під капотом використовується SQLite, що дає більше контролю над базою даних. 🔹 Можливість прямого доступу до вмісту бази. 🛠 Приклади використання доступні у репозиторії: GitHub. 📖 Детальніше про бібліотеку можна прочитати у блозі Pointfree. 🇺🇦 iOSDevUA

💡Toolbar і NavigationView у SwiftUI 🔹 Використання .toolbar у SwiftUI додає тулбар до вью, але працює це тільки в межах NavigationView. Якщо потрібно, щоб тулбар відображався завжди, автор статті випробував кілька підходів і знайшов робоче, хоча і трохи костильне рішення. 📖 Деталі та приклад реалізації доступні тут: https://www.joshholtz.com/blog/2025/02/08/swiftui-navigation-view-if-needed.html 🇺🇦 iOSDevUA

💡Корисні інструменти для терміналу Ось кілька цікавих утиліт, які можуть значно покращити роботу в терміналі: 🔹 Atuin – збе
💡Корисні інструменти для терміналу Ось кілька цікавих утиліт, які можуть значно покращити роботу в терміналі: 🔹 Atuin – зберігає історію команд з підтримкою fuzzy-пошуку. 🔹 Starship – зручний спосіб налаштувати та кастомізувати вигляд терміналу. 🔹 fzf – інтуїтивний fuzzy-пошук по файлах. 🔹 Secure Shellfish – iOS-застосунок для SSH-підключень до вашої машини. 🇺🇦 iOSDevUA

💡Cooperative Cancellation в Swift Concurrency 🔹 В Swift Concurrency механізм скасування та зупинки задач — це дві різні концепції. Задача не припиняється автоматично, але рантайм повідомляє, що вона позначена як скасована. Далі рішення залишається за вами: наприклад, можна повернути пустий або частковий результат, залежно від логіки програми. 📖 Детальний розбір цієї теми доступний у статті: Cooperative Cancellation в Swift Concurrency. 🇺🇦 iOSDevUA

💡NSHipster про Ollama Mattt продовжує оновлювати свій, здавалося б, давно забутий блог. Тепер його статті більше присвячені різним інструментам, які можуть бути корисними не тільки iOS-розробникам, а й ширшому колу спеціалістів. 🔍 У новій публікації він розповідає про Ollama – CLI-інструмент для встановлення та керування локальними LLM-моделями. 📖 Деталі за посиланням: NSHipster про Ollama. 🇺🇦 iOSDevUA

💡Noora – UI компоненти для CLI Створювати консольні утиліти на Swift набагато приємніше, ніж використовувати Python чи Ruby. Noora — це Swift-пакет, що надає зручні графічні елементи для створення стильних консольних інтерфейсів. Серед доступних компонентів: алерти, запити “так/ні”, індикатор прогресу та багато іншого. 🔗 Детальніше можна переглянути тут: Noora Package. 🇺🇦 iOSDevUA

💡Я не знаю, навіщо вам це потрібно, але не поділитися просто не можу. Swift Package на Android? Будь ласка, тримайте! 🙃 Дуже детальний розбір 🔍 👉 https://skip.tools/blog/android-native-swift-packages/ 🇺🇦 iOSDevUA

💡Task.sleep() vs Task.yield(): В чому різниця? У Swift Concurrency існують два способи призупинити виконання асинхронного ко
💡Task.sleep() vs Task.yield(): В чому різниця? У Swift Concurrency існують два способи призупинити виконання асинхронного коду: 🛑 Task.sleep() — дозволяє поставити задачу «спати» на вказаний проміжок часу. 🔄 Task.yield() — звільняє потік і дозволяє іншим завданням виконатися перед тим, як продовжити. Попри схожу поведінку, вони мають суттєві відмінності, які важливо розуміти. 📖 В цій статті Антуан пояснює, як правильно використовувати обидва методи і в яких випадках вони будуть корисними. 🇺🇦 iOSDevUA

💡Стаття про те, як створити подібне menu bar в macOS за допомогою SwiftUI. 👉 https://troz.net/post/2025/mac_menu_data/ 🇺🇦
💡Стаття про те, як створити подібне menu bar в macOS за допомогою SwiftUI. 👉 https://troz.net/post/2025/mac_menu_data/ 🇺🇦 iOSDevUA

💡Що відбувається, коли ви переміщаєте файл у Git? Це цікаве питання, адже Git є невід’ємною частиною роботи кожного розробника. Хтось використовує Xcode, Tower, інші надають перевагу консолі, але розуміння принципів роботи важливе для всіх. ❗️ Часто вважають, що коміти в Git — це диференційні diffs, але це не зовсім так. 📌 У своїй статті Бруно Роша пояснює, що коміти — це snapshots. Тобто при будь-якій зміні файлу Git зберігає його повну копію в репозиторії. 📂 Окремо цікаво, як Git визначає, що два файли однакові, навіть якщо вони мають різні імена. 📖 Детальний розбір і пояснення інших цікавих моментів у статті: https://swiftrocks.com/what-happens-when-you-move-a-file-in-git 🇺🇦 iOSDevUA

🎬Детальний гайд по Apple Search Ads: налаштування та оптимізація 📖 Вийшов корисний матеріал про Apple Search Ads, у якому пояснюється, як правильно налаштувати рекламу, оптимізувати кампанії та підвищити ефективність просування додатків. Якщо ви плануєте використовувати ASA для залучення користувачів, цей гайд допоможе розібратися у всіх нюансах. 🚀 https://www.youtube.com/watch?v=W6_bN3AZo_s 🇺🇦 iOSDevUA

💡Що відкритий Swift Build означає для екосистеми 📖 Команда Tuist підготувала детальний аналіз одного з головних анонсів останнього місяця. Їхній проєкт спрощував роботу з xcodebuild, приховуючи складність процесів, а тепер відкриття Swift Build може відкрити ще більше можливостей для розробників. 💡 Один із потенційних наступних кроків — створення універсального DSL для опису проєктів, який зможе замінити Package.swift і xcodeproj. 🇺🇦 iOSDevUA

💡Як перевірити state restoration у SwiftUI У SwiftUI відновлення стану реалізується через SceneStorage. Однак протестувати його вручну складно, адже при закритті через app switcher стейт скидається. ✅ Щоб перевірити збереження стану, виконайте такі кроки: 1️⃣ Запустіть додаток у симуляторі 2️⃣ Змініть стейт (наприклад, перемістіться по навігації) 3️⃣ Натисніть Home, щоб відправити додаток у бекграунд 4️⃣ Натисніть Stop у Xcode 5️⃣ Запустіть додаток знову та перевірте, чи збережений стан відновився 📖 Детальніше про це в матеріалі 👉 https://nilcoalescing.com/blog/TestingSceneStorageStatePersistenceInXcode/ 🇺🇦 iOSDevUA

💡Робоча група Swift для Android 🚀 Використання Swift для розробки під Android набирає оберти! Спільнота сформувала робочу г
💡Робоча група Swift для Android 🚀 Використання Swift для розробки під Android набирає оберти! Спільнота сформувала робочу групу, до якої увійшли розробники Skip та інші ентузіасти. 📌 Поки що їхній план – регулярні зустрічі та обговорення викликів, але в майбутньому вони сподіваються стати офіційною частиною проєкту Swift. 🔗 Обговорення ведеться тут 👉 https://forums.swift.org/t/swift-on-android-working-group/77780. 🇺🇦 iOSDevUA

💡Безкоштовна альтернатива App Center Distribution 🚀 Emerge відкрили безкоштовний доступ до свого сервісу для поширення iOS та Android білдів. Це чудова альтернатива App Center Distribution, особливо з такими умовами: ✔️ 5000 білдів на місяць ✔️ Необмежена кількість користувачів ✔️ SSO ✔️ SDK для автоматичних сповіщень про нові версії 📖 Детальніше про сервіс можна почитати тут. 🇺🇦 iOSDevUA

💡Як вимкнути анімації в додатку при ввімкненні відповідної опції в Accessibility 📖 Короткий навчальний матеріал про те, як
💡Як вимкнути анімації в додатку при ввімкненні відповідної опції в Accessibility 📖 Короткий навчальний матеріал про те, як реалізувати підтримку відключення анімацій у вашому додатку, якщо користувач активував відповідний перемикач у налаштуваннях Accessibility. Реалізація досить проста, але далеко не всі додатки враховують цю важливу функцію, яка може значно покращити досвід окремих користувачів. 🇺🇦 iOSDevUA

Детальний гайд про нововведення в Swift 6 і міграцію 🔥 👉 https://www.avanderlee.com/concurrency/swift-6-migrating-xcode-projects-packages/ 🇺🇦 iOSDevUA

💡Реалізація шейдера з презентації Apple для iPhone 16e У спільноті часто створюють власні інтерпретації логотипів, натхненних подіями від Apple. Наприклад, для останньої презентації навіть з’явився сайт, де можна переглянути ефекти на логотипах різних компаній. Розробник Bobby Bobak вирішив перенести цей ефект у SwiftUI – він додав можливість налаштовувати рівень заломлення та блюр. 📖 Код реалізації доступний на GitHub. 📱 Оригінальний пост від Стіва Хейні. 🇺🇦 iOSDevUA

🕹 Гра «Життя» Конвея: реалізація на MetalKit Ендрю Глейв продемонстрував, як створити візуалізацію гри «Життя» за допомогою MetalKit. В основі реалізації використовуються vertex та fragment шейдери, що дозволяє досягти плавної та ефективної графіки. 🛠 Код доступний на GitHub. 🇺🇦 iOSDevUA

💡NSAttributedString: створення, редагування та керування атрибутами UILabel – це більше, ніж здається на перший погляд. Якщо
💡NSAttributedString: створення, редагування та керування атрибутами UILabel – це більше, ніж здається на перший погляд. Якщо вам доводилося працювати з різними текстовими стилями, ця тема може бути знайомою. Для більш продуктивного підходу часто використовують Core Text, однак у багатьох випадках достатньо NSAttributedString. Оскільки робота з текстом потрібна у будь-якому додатку, корисно знати особливості його редагування. 📖 У цій статті розглядаються ключові прийоми роботи з атрибутованими рядками – додавання клікабельних посилань, налаштування параграфів, робота з вкладеними зображеннями тощо. Також автор звертає увагу на оптимізацію за допомогою кешування тексту. 🇺🇦 iOSDevUA