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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡В Xcode 16 з'явився макрос @Previewable для SwiftUI Previews.
Що це, як його використовувати і для чого він потрібен? Дізнайтеся в цій статті!

👉 https://www.avanderlee.com/swiftui/previewable-macro-usage-in-previews/

🇺🇦 iOSDevUA
🔨 Тепер можна переглядати, що саме затримує запуск додатка

Window → Organizer → Launches

Дані беруться з 👨‍💻 App Store Connect, тобто це не локальний інструмент, а аналітика.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
#WWDC24 оновлення, пов’язані з ASO! 🥳

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

2. Deep links для Custom Product Pages
Ви зможете безперешкодно направляти людей з конкретної кастомної сторінки продукту в App Store до відповідного місця у вашому додатку, включаючи рекламу в пошуку!

3. Зменшені вимоги до скріншотів
Тепер потрібен лише 1 набір скріншотів для iPhone і для iPad, замість 3 наборів для iPhone і 3 наборів для iPad. Менше роботи для дизайнерів!

🇺🇦 iOSDevUA
🔥2
В iOS 18 тепер математику можна вирішувати навіть в iMessage 🤯

🇺🇦 iOSDevUA
🤯6
Hello iOS developers! New digest is here!

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

It would be very nice to have a list with all WWDC changes, notes and etc, right? But what if I say you we have that list?
https://wwdcnotes.github.io/WWDCNotes/documentation/wwdcnotes

And more about WWDC notes - Apple also does great job about documenting changes and notes:
https://developer.apple.com/documentation/Updates/wwdc2024

What are mobile release engineering teams and when do you need one?
The early (and also not-so-early) days of building a tech startup means hiring and working with people who are capable of wearing a lot of hats. There are a ton of things to do and nowhere near an equal amount of resources to do them. Even if you join as a specialist, chances are you'll find yourself getting deep into other areas:
https://www.runway.team/blog/what-are-mobile-release-engineering-teams-and-when-do-you-need-one

@Previewable: Dynamic SwiftUI Previews Made Easy
Xcode 16 introduced the @Previewable macro for SwiftUI Previews, allowing you to use dynamic properties inline in previews. You’ll be able to make richer and more dynamic previews of your SwiftUI views without the need to wrap any state inside child views:
https://www.avanderlee.com/swiftui/previewable-macro-usage-in-previews

What is new in SwiftUI after WWDC 24
WWDC 24 is here, and we have a lot to cover. Every year, SwiftUI matures by introducing more features to catch up with UIKit. This year is no exception. Let’s dive into the new features that the SwiftUI framework introduces:
https://swiftwithmajid.com/2024/06/10/what-is-new-in-swiftui-after-wwdc24

A New Direction for Testing in Swift
At WWDC24 Apple presented Swift Testing framework - one more method for testing your applications:
https://github.com/swiftlang/swift-evolution/blob/main/visions/swift-testing.md

Swift 6: Incrementally migrate your Xcode projects and packages
Apple announced Swift 6 during WWDC 2024 as a major release of their programming language. It aims to create a fantastic development experience, and many of the latest features we know today are part of the road toward this major version bump:
https://www.avanderlee.com/concurrency/swift-6-migrating-xcode-projects-packages
👍2🔥2
🔨 Новий візуал для перегляду стеку викликів.
Настільки зручно, що незрозуміло, чому не зробили раніше.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1
💡Що нового в SwiftUI в iOS 18

👉 Створення кастомних колекцій, аналогічних List і TabView.
👉 Новий Tab-бар, який автоматично з класною анімацією перетворюється на сайдбар і назад.
👉 Нові анімації для переходів між в'ю.
👉 Можливість зсунути скрол на конкретну позицію.
👉 Макрос Entry, за допомогою якого можна швидко задавати різні параметри оточення.
👉 Макрос Previewable, за допомогою якого можна задавати стейт для прев'ю.

🇺🇦 iOSDevUA
📖 В гайдах з перевірки додатків вилучили пункт 4.6.

Там було заборонено використовувати іконки для динамічного оновлення. Наприклад, як у 🕐 годиннику і календарі.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Підбірка анімацій з #WWDC24 з прикладами коду

Чудова сесія, в якій Робб і Філіп поділилися прикладами коду і новими підходами до реалізації.

📺 Нова анімація при скролі.
📺 Робота з кольором.
📺 View та ефекти.
📺 Робота з текстом і нові анімації (вже додав до закладок).
📺 Metal shaders (а куди ж без них).

Після завершення WWDC впевнений, що ще повернемося і розглянемо детально.

🇺🇦 iOSDevUA
👍3
💡Тепер можна додавати свої контроли в центр управління

🔖 Працює через App Intents

Синтаксис схожий на інтенти, але налаштовується через ControlWidgetConfiguration

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Media is too big
VIEW IN TELEGRAM
💾 Погрався з новою навігацією на iPad

Тепер Sidebar - це варіант відображення TabView. Раніше використовували модифікатор .tabItem, а тепер так:

Tab("Item", systemImage: "play") {
// Content
}


Кастомізація працює "з коробки" і зберігається в App Storage. Код універсальний — для iPhone та Vision Pro показує таб-бар, для мака - сайд-бар.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
💡Новий метод count(where:) у Swift 6

У SE-0220 з'явився новий метод count(where:), який виконує filter() і count за один прохід.

Це дозволяє уникнути створення нового масиву і забезпечує чітке та прозоре рішення підрахунку.

🤩 Цей метод доступний для всіх типів, що відповідають Sequence, тому його можна використовувати і для множин, і для словників.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Xcode 16 спростить пошук проблем, які призводять до зависання додатків.

🛠 Тепер за допомогою нового інструмента flame graph можна буде визначити, виконання якого саме коду займає більшу частину часу при серйозних зависаннях у додатку (особливо корисно на старті).

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

Бонус: в Organizer додали нову категорію Launches, у якій можна буде побачити, що саме є причиною довгого запуску додатка у користувачів (статистика за весь час).

🇺🇦 iOSDevUA
1
🥴Найбільш незрозуміле нововведення - тонування іконок.

Для темної теми ви даєте кольорову іконоку, а фон залишається системним. Для тонування - ч/б іконку. Можна експериментувати з прозорістю елементів.

🖼 У беті Xcode вже можна додавати іконоки, але наразі вони завжди показують стандартну.

🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👀2🦄1
💡Live Activity завезли для годинників. Якщо ви вже користувалися LA, то нічого не змінилося. Якщо ні, є туторіал.

UI для годинників можна робити за допомогою перевірки env:
@Environment(\.activityFamily) var activityFamily


У єнума є два типи, .small і .medium. Інформативно назвали 🙆

🇺🇦 iOSDevUA
👍5
Dark mode app icons

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

🇺🇦 iOSDevUA
2
💡Підбірка найкращих сесій з WWDC24 (Swift, Performance, Debugging)

WWDC підійшов до кінця, тому вирішив виділити сесії, які варто переглянути в пріоритетному порядку.

📼 Аналіз heap memory
Розповідають не тільки про основи динамічної пам’яті (кучу), але й про те, як використовувати Instruments та Xcode для аналізу та усунення поширених проблем. А ще методи та найкращі практики для діагностики витоків у додатку.


📼 Використання некопійованих типів у Swift
Велика сесія, яка дозволить дізнатися, що взагалі мається на увазі під копіюванням у Swift, коли можна використовувати некопійований тип і як value ownership дозволяє чітко позначити свої наміри.


📼 Swift Performance
Сесія пояснює, як саме Swift забезпечує баланс продуктивності. Наводять приклади різних функцій Swift і способи їх реалізації, щоб краще зрозуміти можливі потенційні проблеми, що впливають на продуктивність. Можна глибше зануритися в основи виділення пам'яті, memory layout загалом, дженеріки, замикання – загалом топ і в закладки.


📼 Підбірка анімацій з WWDC з прикладами коду
Нові анімації скролу, ефекти, все з прикладами.


📼 Показники продуктивності в AVFoundation
Всі, хто працював з відео, компресією або навіть просто використовував AVPlayer, знають, як мало документації та прикладів по цьому розділу. У цій сесії розповідають, які метрики варто враховувати і як вони впливають на продуктивність.


📼 Run, Break, Inspect: Досліджуйте ефективну відладку в LLDB
Показують, як максимально ефективно використовувати крашлоги і бектрейси, а також як покращити брейкпоінти за допомогою дій та складних умов. А ще особливу увагу приділено команді «p» і новим можливостям Swift, які покращать досвід відладки.


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


📼 База в Xcode
Розповідають про популярні фішки Xcode, які допоможуть прискорити розробку.


📼 Міграція на Swift 6
Можна дізнатися, як перевести існуючий додаток на Swift 6 на реальному прикладі. Розповідають про опцію переносу модуль за модулем і як компілятор допомагає виявити код, схильний до ризику гонок даних. Розповідають про ізоляцію та як вирішити проблему одночасного доступу до спільного змінного стану.


📼 Що нового в UIKit
Дізнайтеся про всі новинки в UIKit, включаючи зручність запуску вкладок і документів, переходи, зміни тексту та введення. Також розповідають про сумісність анімацій і жестів UIKit і SwiftUI, а також загальні покращення у всьому UIKit.


🇺🇦 iOSDevUA
7
💡Swift переїхав в окрему організацію на GitHub

Swift тепер знаходиться не в організації Apple, а у власній організації Swiftlang. Там же буде розміщуватися стандартна бібліотека, компілятор, всі основні інструменти та бібліотеки, а також інші проекти, важливі для екосистеми. У майбутньому обіцяють представити єдиний процес додавання нових проектів в організацію та їх еволюції, почати використовувати GitHub Teams і покращувати CI для всього.

🇺🇦 iOSDevUA
2