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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
Ще один чудовий навчальний матеріал з прикладами. Цього разу про протокол Identifiable в SwiftUI! Автор зазначає, що хоча протокол і здається простим і зрозумілим, є кілька випадків, де ви можете виявити помилку. Він показує і докладно пояснює 👍

👉 https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/

🇺🇦 iOSDevUA
👀 Сьогодні в ЄС запрацював один із перших альтернативних маркетів застосунків — AltStore PAL альтернативний магазин застосунків для iOS

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

AltStore PAL — децентралізований і не має каталогу, тому розробникам потрібно буде самостійно рекламувати свої застосунки.

👉 Користувачі у Європейському Союзі можуть завантажити AltStore PAL із вебсайту.

🇺🇦 iOSDevUA
💡Інтероп Haskell та Swift

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

👉 https://alt-romes.github.io/posts/2024-04-02-calling-haskell-from-swift.html

🇺🇦 iOSDevUA
⚠️ Якщо вас цікавить безпека iOS та джейлбрейкінг, ознайомтеся з цим чудовим списком підручників по Frida.

👉 https://8ksec.io/advanced-frida-mobile/

🇺🇦 iOSDevUA
💡Як працювати з закладками в Xcode

Починаючи з Xcode 15, окрім звичайних тудушок, з'явилася можливість створювати та організовувати закладки по коду.

👉 Їх можна об'єднувати в групи
👉 Будь-яку закладку можна позначити як виконану
👉 В якості закладки можна використовувати пошуковий запит

🇺🇦 iOSDevUA
💡Гайд з підготовки кодової бази до Swift 6

Офіційний гайд від Apple ще не з'явився, тому ось вам досить непоганий від спільноти з розбором того, які фічі з'являться, та як рефакторити код для підготовки до них.

👉 https://medium.com/jamf-engineering/swift-6-upgrade-preparation-0941fbea2db6

🇺🇦 iOSDevUA
💡Чотири корисні сервіси для роботи з JSON у Swift

👉 quicktype.io — зручний сервіс для створення моделей та серіалізації JSON (не тільки на Swift) з купою опцій та параметрів.

👉 SwiftyJSON — найпопулярніший репозиторій на GitHub для спрощення роботи з JSON (22 000 зірок).

👉 jsonformatter.org — валідатор і конвертер для JSON.

👉 jsoncrack.com — наочна візуалізація структури json (є ще такий сервіс, але він тимчасово недоступний).

🇺🇦 iOSDevUA
1
З'явилася можливість запросити індивідуальну консультацію з AppStore Review Team та багато інших активностей. Ось приклад декількох заходів — ви завжди можете переглянути повний графік, щоб знайти більше.

👉 Розширте свій додаток на нові ринки: дізнайтесь, як вивести ваші додатки та ігри на ринки Південно-Східної Азії, Гонконгу та Тайваню в нових онлайн-сесіях з експертами App Store.
👉 Запросіть на індивідуальну App Review консультацію: зустрічайтеся онлайн, щоб обговорити настанови перевірки додатків та вивчити кращі практики для плавного процесу перевірки.
👉 Відвідайте лабораторії розробників Apple Vision Pro: тестуйте, удосконалюйте та оптимізуйте свої додатки та ігри для нескінченного полотна — з особистою допомогою від Apple.
👉 Запросіть на консультацію з дизайну або технологій: на цій 30-хвилинній онлайн-консультації ви отримаєте поради від експертів, які будуть адаптовані до вашого додатку або гри.

Переглянути повний графік - https://developer.apple.com/events/view/upcoming-events

🇺🇦 iOSDevUA
💡Білд проекту Xcode за допомогою CLI

Коли ви працюєте над різними проєктами, іноді вам потрібно використовувати різні інтегровані середовища розробки. Вам потрібно знайти спосіб найшвидше побудувати проєкт.

👉 https://dmytros.blog/posts/post-2/

🇺🇦 iOSDevUA
Матеріал про Actors у Swift, але не про базову частину (посилання на базову частину також є у статті), а про повторні входження в Actors і трохи про те, до яких проблем можуть призводити async функції всередині Actors.
Загалом матеріал має бути корисним не тільки в теорії, а й на практиці! 👍

👉 https://www.donnywals.com/actor-reentrancy-in-swift-explained/

🇺🇦 iOSDevUA
💡Як зменшити розмір додатка за допомогою dynamic фреймворків

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

👉 https://www.emergetools.com/blog/posts/make-your-ios-app-smaller-with-dynamic-frameworks

🇺🇦 iOSDevUA
💡Як використовувати експериментальні версії (та функції) Swift у Xcode?

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

Іноді дійсно доведеться почекати, але часто у пропозалах можна зустріти наступне:
-enable-experimental-feature


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

Наприклад, release/5.10 або release/6.0 показує, що функція буде доступна тільки при використанні Swift з цієї гілки.

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

👉 https://www.donnywals.com/how-to-use-experimental-swift-versions-and-features-in-xcode/

🇺🇦 iOSDevUA
🔥1
🔥 Apple запрошує на спеціальний івент 7 травня о 18:00 за Київським часом.

Переглянути можна буде онлайн на apple.com, на Apple TV або на YouTube Live.

👇 Пишіть в коментарях чого чекати від Apple на івенті

🇺🇦 iOSDevUA
👍2
💡Swift on Server 2024

Робоча група, яка займається розвитком серверного Swift, розповіла про поточний стан справ та плани на наступний рік.

👉 Опубліковані результати великого опитування про те, з якими проблемами стикаються розробники.
👉 Екосистема продовжує рости, особливо відзначають процес інкубації нових пакетів та участь у GSoC.
👉 Structured concurrency адаптується новими пакетами, а також фундаментальними існуючими, на кшталт SwiftNIO.
👉 Важливий новий інструментарій: Swiftly, Dependabot, Chiseled Containers, OpenAPI generator.
👉 Фокуси на 2024: посилений маркетинг, підготовка до Swift 6, подальший адапшн Swift Concurrency.

➡️ https://www.swift.org/blog/sswg-update-2024/

🇺🇦 iOSDevUA
🔥1
📲 Apple випускає третю бета-версію для iOS 17.5 та інших

Бета-версія iOS 17.5 продовжує свій шлях тестування з третім релізом для розробників. Apple також релізнули macOS Sonoma 14.5, visionOS 1.2, watchOS 10.5, tvOS 17.5 та HomePod 17.5.

Зміни наразі включають нову гру Quartiles та інтеграцію з Game Center Leaderboard для Apple News+, віджет Podcast, що підлаштовується під колір, та багато іншого.

Release Notes:
👉 iOS & iPadOS 17.5 Beta 3 (21F5063f)
👉 macOS Sonoma 14.5 Beta 3 (23F5064f)
👉 tvOS 17.5 Beta 2 (21L5558d)
👉 visionOS 1.2 beta 3 (21O5570d)
👉 watchOS 10.5 beta 3 (21T5560d)

🇺🇦 iOSDevUA
💡SwiftTUI – SwiftUI для консольних додатків

Будь-який UI фреймворк рано чи пізно використовують для того, щоб писати додатки під термінал. SwiftTUI – бібліотека, яка реалізує аналогічний SwiftUI API для додатків з чисто текстовим інтерфейсом.

Що вже працює:

👉 Property wrappers @State, @Binding, @Environment
👉 VStack, HStack, ForEach, Group та @ViewBuilder
👉 Structural identity як у SwiftUI
👉 Button, TextField та зміна фокусу стрілками
👉 Text, Color, Spacer
👉 .border(), .padding(), .background(), .foregroundColor()

🔗 Приклад зі ToDo списком

🇺🇦 iOSDevUA
👍1
💡Як покращити неймінг компонентів SwiftUI

Проста ідея щодо того, як зменшити кількість класів на кшталт BlablablaDescriptionView у вашому коді – замість View використовувати клас обгортаного елемента.

👉 https://blog.ptrkstr.com/swiftui-component-naming

🇺🇦 iOSDevUA
💡Черговий хороший навчальний матеріал з прикладами.
Цього разу про Identifiable протокол у SwiftUI!
Автор сам каже, що хоч протокол і здається простим та зрозумілим, є кілька випадків, у яких ви можете зіткнутися з багом. Показує та пояснює детально 👍

👉 https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/

🇺🇦 iOSDevUA