Hello iOS developers! New iOS news digest is here!
TestFlight enhancements to help you reach testers:
Beta testing your apps, games, and App Clips is even better with new enhancements to TestFlight. Updates include:
- Redesigned invitations
- Tester enrollment criteria
- Public link metrics
https://developer.apple.com/news
Measuring Performance for iOS Apps at Uber Scale
At Uber, we obsess over delivering highly performant and reliable experiences to our partners and customers. We treat degradations to app performance the same way as any other functional regressions.
Before investing effort into improving performance and reliability, we need to understand how our app is performing in production. We use various tools to derive metrics that allow us to measure app performance and reliability. We also establish baselines to ensure that new feature development is consistent with the high bar we hold for performance and reliability:
https://www.uber.com/en-UA/blog/measuring-performance-for-ios-apps-at-uber-scale
How to use VSCode/Cursor for iOS development
If you are looking for something else than Xcode for iOS development consider using Cursor AI with VSCode for this. Here is a great article about integrating it:
https://dimillian.medium.com/how-to-use-cursor-for-ios-development-54b912c23941
Introducing ReactiveCollectionsKit
Jesse Squires, one of the creators of the IGListKit(Instagram library for displaying flexible list) released new open source project called ReactiveCollectionsKit. It is a modern, fast, and flexible library for building data-driven, declarative, reactive, and diffable collections and lists for iOS. This library is the culmination of everything learned from building and maintaining IGListKit, ReactiveLists, and JSQDataSourcesKit:
https://www.jessesquires.com/blog/2024/10/18/introducing-reactivecollectionskit
Making charts accessible with Swift Charts
Charts enable users to quickly interpret data, but charts are not inherently accessible for people who are blind or have low vision. Apple has made significant efforts to ensure the charts are compatible with Assistive Technologies, particularly VoiceOver.
With Swift Charts, VoiceOver can interpret the data displayed on the chart, extract valuable information, and construct audio graphs automatically, making it accessible to all users. With VoiceOver rotor particularly, users have three different options to access the data:
https://www.createwithswift.com/making-charts-accessible-with-swift-charts
How to Create Interactive TableView in SwiftUI
A Complete Guide to Sorting, Searching, Multi-Selection, and Expanding Rows with TableView in SwiftUI:
https://canopas.com/how-to-create-interactive-table-view-in-swiftui-68aad2f14811
How the Swift compiler knows that DispatchQueue.main implies @MainActor:
https://oleb.net/2024/dispatchqueue-mainactor
TestFlight enhancements to help you reach testers:
Beta testing your apps, games, and App Clips is even better with new enhancements to TestFlight. Updates include:
- Redesigned invitations
- Tester enrollment criteria
- Public link metrics
https://developer.apple.com/news
Measuring Performance for iOS Apps at Uber Scale
At Uber, we obsess over delivering highly performant and reliable experiences to our partners and customers. We treat degradations to app performance the same way as any other functional regressions.
Before investing effort into improving performance and reliability, we need to understand how our app is performing in production. We use various tools to derive metrics that allow us to measure app performance and reliability. We also establish baselines to ensure that new feature development is consistent with the high bar we hold for performance and reliability:
https://www.uber.com/en-UA/blog/measuring-performance-for-ios-apps-at-uber-scale
How to use VSCode/Cursor for iOS development
If you are looking for something else than Xcode for iOS development consider using Cursor AI with VSCode for this. Here is a great article about integrating it:
https://dimillian.medium.com/how-to-use-cursor-for-ios-development-54b912c23941
Introducing ReactiveCollectionsKit
Jesse Squires, one of the creators of the IGListKit(Instagram library for displaying flexible list) released new open source project called ReactiveCollectionsKit. It is a modern, fast, and flexible library for building data-driven, declarative, reactive, and diffable collections and lists for iOS. This library is the culmination of everything learned from building and maintaining IGListKit, ReactiveLists, and JSQDataSourcesKit:
https://www.jessesquires.com/blog/2024/10/18/introducing-reactivecollectionskit
Making charts accessible with Swift Charts
Charts enable users to quickly interpret data, but charts are not inherently accessible for people who are blind or have low vision. Apple has made significant efforts to ensure the charts are compatible with Assistive Technologies, particularly VoiceOver.
With Swift Charts, VoiceOver can interpret the data displayed on the chart, extract valuable information, and construct audio graphs automatically, making it accessible to all users. With VoiceOver rotor particularly, users have three different options to access the data:
https://www.createwithswift.com/making-charts-accessible-with-swift-charts
How to Create Interactive TableView in SwiftUI
A Complete Guide to Sorting, Searching, Multi-Selection, and Expanding Rows with TableView in SwiftUI:
https://canopas.com/how-to-create-interactive-table-view-in-swiftui-68aad2f14811
How the Swift compiler knows that DispatchQueue.main implies @MainActor:
https://oleb.net/2024/dispatchqueue-mainactor
Apple
Latest News - Apple Developer
Learn about the latest technologies, events, and policies for developers.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Як створювати привабливі анімації
Люди все частіше обирають інструменти, орієнтуючись на загальні враження, а не тільки на функціональність.
Додаток, який робить те, що ви очікуєте і так, як ви хотіли б бачити — ось що виділяє продукт.
Зокрема, це одна з основних причин, чому компанії інвестують у дизайн-інженерів.
Вміння створювати приємні анімації — складна задача (для якої потрібен досвід і знання).
📖 Еміль Ковальські розповідає про такі анімації, приводить приклади (не тільки для iOS-платформи) і дає поради, як можна покращити враження користувачів.
🇺🇦 iOSDevUA
Люди все частіше обирають інструменти, орієнтуючись на загальні враження, а не тільки на функціональність.
Додаток, який робить те, що ви очікуєте і так, як ви хотіли б бачити — ось що виділяє продукт.
Зокрема, це одна з основних причин, чому компанії інвестують у дизайн-інженерів.
Вміння створювати приємні анімації — складна задача (для якої потрібен досвід і знання).
📖 Еміль Ковальські розповідає про такі анімації, приводить приклади (не тільки для iOS-платформи) і дає поради, як можна покращити враження користувачів.
🇺🇦 iOSDevUA
❤2🔥1
💡gRPC сервер на Swift
У цьому році з’явилося особливо багато якісного контенту про Swift на сервері. Наприклад, туторіал про те, як зібрати простий gRPC сервер з використанням бібліотеки grpc-swift-protobuf.
🇺🇦 iOSDevUA
У цьому році з’явилося особливо багато якісного контенту про Swift на сервері. Наприклад, туторіал про те, як зібрати простий gRPC сервер з використанням бібліотеки grpc-swift-protobuf.
🇺🇦 iOSDevUA
Swiftonserver
Beginner's Guide to Protocol Buffers and gRPC with Swift - Swift on server
Learn Protocol Buffers and gRPC with Swift in this easy, step-by-step beginner's guide.
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Анімація переходів між view у SwiftUI
Transitions (або переходи) покращують користувацький досвід, роблячи взаємодію більш плавною та приємною.
При зміні інтерфейсу візуально підкреслюється зв’язок між різними елементами користувацького інтерфейсу.
Як приклади, де використовуються такі анімації, можна навести:
🔘 Навігація між екранами.
🔘 Додавання (або видалення) елементів зі списку.
🔘 Показ модальних view.
📖 Розбір створення таких ефектів (і їх комбінацій) можна прочитати в цій статті.
🇺🇦 iOSDevUA
Transitions (або переходи) покращують користувацький досвід, роблячи взаємодію більш плавною та приємною.
При зміні інтерфейсу візуально підкреслюється зв’язок між різними елементами користувацького інтерфейсу.
Як приклади, де використовуються такі анімації, можна навести:
🔘 Навігація між екранами.
🔘 Додавання (або видалення) елементів зі списку.
🔘 Показ модальних view.
📖 Розбір створення таких ефектів (і їх комбінацій) можна прочитати в цій статті.
🇺🇦 iOSDevUA
❤1
Захотілося трохи повернутися до основ і поділитися матеріалом про таку важливу річ, як Copy on Write. Так, це зовсім для початківців, але якщо і ви раптом про це знаєте не так багато, то переходьте і ознайомлюйтесь. А поділитися цим хотілося, тому що для початківців ця інформація дуже важлива і корисна 👍
👉 https://holyswift.app/copy-on-write-in-swift/
🇺🇦 iOSDevUA
👉 https://holyswift.app/copy-on-write-in-swift/
🇺🇦 iOSDevUA
Holy Swift
Copy-on-write in Swift - Holy Swift
This is a tutorial on Copy-on-write in Swift. Learn everything about copy-on-write and why it is important for your code in Swift!
👍3❤1
💡Стаття про те, як прискорити мережеву взаємодію
Не знаю, чи підійде вам такий спосіб, але хоча б знати про нього буде корисно. Взагалі знати про все буде корисно, не обов’язково навіть у деталях, але хоча б знати, в яку сторону шукати і що гуглити, якщо у вас з’явиться задача з цієї області.
👉 https://eisel.me/shared-dictionary-compression
🇺🇦 iOSDevUA
Не знаю, чи підійде вам такий спосіб, але хоча б знати про нього буде корисно. Взагалі знати про все буде корисно, не обов’язково навіть у деталях, але хоча б знати, в яку сторону шукати і що гуглити, якщо у вас з’явиться задача з цієї області.
👉 https://eisel.me/shared-dictionary-compression
🇺🇦 iOSDevUA
Michael Eisel’s Blog
Faster iOS Networking with Shared Dictionary Compression
Introduction
❤2
💡Комплексний гайд по роботі з KeyPath у Swift
У світі Swift KeyPath – це потужна, але часто недооцінена функція.
Мета цієї статті – глибоко вивчити функціональні особливості KeyPath, розкрити можливості та допомогти використовувати її в процесі розробки.
📖 У матеріалі описані властивості, наведені приклади, як читати/встановлювати значення через KeyPath та використовувати KeyPath як параметр.
🇺🇦 iOSDevUA
У світі Swift KeyPath – це потужна, але часто недооцінена функція.
Мета цієї статті – глибоко вивчити функціональні особливості KeyPath, розкрити можливості та допомогти використовувати її в процесі розробки.
📖 У матеріалі описані властивості, наведені приклади, як читати/встановлювати значення через KeyPath та використовувати KeyPath як параметр.
🇺🇦 iOSDevUA
❤1
💡Робота з таймерами у Swift
Таймери у Swift використовуються постійно: для планування відкладених або повторюваних завдань.
У статті, яка торкається моментів створення та роботи з таймерами, автор нагадує кілька важливих моментів:
🔘 Навіщо взагалі потрібні таймери у Swift.
🔘 Повторювані (і не повторювані) таймери.
🔘 Як запланувати повторювані завдання.
🔘 Що таке tolerance і як runloop modes впливають на роботу таймера.
🇺🇦 iOSDevUA
Таймери у Swift використовуються постійно: для планування відкладених або повторюваних завдань.
У статті, яка торкається моментів створення та роботи з таймерами, автор нагадує кілька важливих моментів:
🔘 Навіщо взагалі потрібні таймери у Swift.
🔘 Повторювані (і не повторювані) таймери.
🔘 Як запланувати повторювані завдання.
🔘 Що таке tolerance і як runloop modes впливають на роботу таймера.
🇺🇦 iOSDevUA
❤1👍1
💡Про Vapor та тести у Swift
👉 https://www.avanderlee.com/general/vapor-and-swift-testing-running-tests-in-parallel/
🇺🇦 iOSDevUA
👉 https://www.avanderlee.com/general/vapor-and-swift-testing-running-tests-in-parallel/
🇺🇦 iOSDevUA
SwiftLee
Vapor and Swift Testing: Running tests in parallel
Improve your backend development with Swift Testing and Vapor. Learn about running tests in parallel and boosting performance.
❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Реалізація розмиття екрану в режимі багатозадачності
🔑 Підвищення рівня конфіденційності важливо при розробці сучасних додатків (особливо месенджерів або банківських додатків).
📖 У цій статті показано простий спосіб розмиття контенту, коли користувач переходить у багатозадачний (або фоновий) режим.
🇺🇦 iOSDevUA
🔑 Підвищення рівня конфіденційності важливо при розробці сучасних додатків (особливо месенджерів або банківських додатків).
📖 У цій статті показано простий спосіб розмиття контенту, коли користувач переходить у багатозадачний (або фоновий) режим.
🇺🇦 iOSDevUA
💡Продовжуючи тему тестування в Swift. Про макрос
З прикладами та поясненням.
👉 https://www.avanderlee.com/swift-testing/require-macro/
🇺🇦 iOSDevUA
require.З прикладами та поясненням.
👉 https://www.avanderlee.com/swift-testing/require-macro/
🇺🇦 iOSDevUA
SwiftLee
Using the #require macro for Swift Testing
Discover how #require macro in Swift Testing can set requirements for your tests and make them clearer and easier to understand.
This media is not supported in your browser
VIEW IN TELEGRAM
💡Як заборонити створення скріншотів для важливих екранів у Swift
Для цього підійде елегантне рішення з використанням властивості
📖 У цій статті автор ділиться необхідними кроками з прикладом коду.
😎 До речі, цей спосіб актуальний і для запису відео з екрана пристрою.
🇺🇦 iOSDevUA
Для цього підійде елегантне рішення з використанням властивості
isSecureTextEntry за допомогою кастомного модифікатора.📖 У цій статті автор ділиться необхідними кроками з прикладом коду.
😎 До речі, цей спосіб актуальний і для запису відео з екрана пристрою.
🇺🇦 iOSDevUA
💡Велике оновлення App Store Connect — версія 2.0
🎉 Apple оновили додаток (сподіваюся, тепер не буде постійного дропу сесій, як раніше), тепер можна підписатися на сповіщення про фічеринг і не тільки.
👉 Оновлений, зручний інтерфейс.
👉 Інструменти для створення промо-матеріалів: тепер можна швидко створювати банери та відео для соцмереж.
👉 А ще з’явився цілий розділ, в якому можна безпосередньо номінувати своє додаток на фічеринг (серед типів — додавання контенту, покращення функціональності або загальний запуск).
📖 Дізнатися більше про номінації та нові доступні ресурси можна тут.
🇺🇦 iOSDevUA
🎉 Apple оновили додаток (сподіваюся, тепер не буде постійного дропу сесій, як раніше), тепер можна підписатися на сповіщення про фічеринг і не тільки.
👉 Оновлений, зручний інтерфейс.
👉 Інструменти для створення промо-матеріалів: тепер можна швидко створювати банери та відео для соцмереж.
👉 А ще з’явився цілий розділ, в якому можна безпосередньо номінувати своє додаток на фічеринг (серед типів — додавання контенту, покращення функціональності або загальний запуск).
📖 Дізнатися більше про номінації та нові доступні ресурси можна тут.
🇺🇦 iOSDevUA
Hello iOS developers! New iOS news digest is here!
The main news from the last weeks - memes are forbidden now on the Swift forum 😁
https://forums.swift.org/t/forums-policy-on-memes-and-other-expressive-images/75714
Let's get more familiar with Actors in Swift
Understanding actors in Swift
Learn how to use Swift actors to prevent data races when working with concurrency:
https://tanaschita.com/swift-actors-basics
MainActor usage in Swift explained to dispatch to the main thread
MainActor is a new attribute introduced in Swift 5.5 as a global actor providing an executor that performs its tasks on the main thread. When building apps, it’s essential to perform UI updating tasks on the main thread, which can sometimes be challenging when using several background threads. Using the @MainActor attribute will help ensure your UI is always updated on the main thread:
https://www.avanderlee.com/swift/mainactor-dispatch-main-thread
Using ViewThatFits to Create a More Accessible List Cell in SwiftUI
Creating accessible user interfaces is a crucial aspect of modern app development. However, ensuring that your app is accessible to all users can sometimes be challenging. In this article, we’ll explore how to use the ViewThatFits component to create more visually accessible list cells in your SwiftUI apps:
https://blog.stackademic.com/using-viewthatfits-to-create-a-more-accessible-list-cell-in-swiftui-e87dc8feb4d4
Automatic Trait Tracking
In iOS 18, UIKit automatically tracks when you access a trait, removing the need to manually register for trait change notifications:
https://useyourloaf.com/blog/automatic-trait-tracking
Crafting Seamless Journeys with Live Activities
Very interesting and detailed article about implementing Live Activities in the iOS application from Lyft team:
https://eng.lyft.com/crafting-seamless-journeys-with-live-activities-abe82e98546f
Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys
Today we will talk about PreferenceKeys in SwiftUI and how to use it to get how much of a percentage of a view is showing on the screen:
https://holyswift.app/measuring-view-visibility-percentage-in-swiftui-using-preferencekeys
The main news from the last weeks - memes are forbidden now on the Swift forum 😁
https://forums.swift.org/t/forums-policy-on-memes-and-other-expressive-images/75714
Let's get more familiar with Actors in Swift
Understanding actors in Swift
Learn how to use Swift actors to prevent data races when working with concurrency:
https://tanaschita.com/swift-actors-basics
MainActor usage in Swift explained to dispatch to the main thread
MainActor is a new attribute introduced in Swift 5.5 as a global actor providing an executor that performs its tasks on the main thread. When building apps, it’s essential to perform UI updating tasks on the main thread, which can sometimes be challenging when using several background threads. Using the @MainActor attribute will help ensure your UI is always updated on the main thread:
https://www.avanderlee.com/swift/mainactor-dispatch-main-thread
Using ViewThatFits to Create a More Accessible List Cell in SwiftUI
Creating accessible user interfaces is a crucial aspect of modern app development. However, ensuring that your app is accessible to all users can sometimes be challenging. In this article, we’ll explore how to use the ViewThatFits component to create more visually accessible list cells in your SwiftUI apps:
https://blog.stackademic.com/using-viewthatfits-to-create-a-more-accessible-list-cell-in-swiftui-e87dc8feb4d4
Automatic Trait Tracking
In iOS 18, UIKit automatically tracks when you access a trait, removing the need to manually register for trait change notifications:
https://useyourloaf.com/blog/automatic-trait-tracking
Crafting Seamless Journeys with Live Activities
Very interesting and detailed article about implementing Live Activities in the iOS application from Lyft team:
https://eng.lyft.com/crafting-seamless-journeys-with-live-activities-abe82e98546f
Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys
Today we will talk about PreferenceKeys in SwiftUI and how to use it to get how much of a percentage of a view is showing on the screen:
https://holyswift.app/measuring-view-visibility-percentage-in-swiftui-using-preferencekeys
Swift Forums
Forums Policy on "Memes" and Other Expressive Images
Hello, Swift community. The Core Team has decided to impose a new policy on the use of expressive images on these forums. Most importantly, this policy would forbid the use of “memes” and similar images. The primary purpose of these forums is to foster…
💡Створення адаптивної верстки в SwiftUI з використанням Layout-протоколу
Комбінація
Важливо мати навички для створення верстки, яка добре виглядає і в портретній, і в альбомній орієнтації екрану.
📖 У цьому матеріалі розглядається підхід з використанням протоколу Layout (доступного з iOS 16).
🇺🇦 iOSDevUA
Комбінація
UICollectionView та UICollectionViewFlowLayout у UIKit дає багато гнучкості та контролю для створення будь-яких необхідних макетів, але в SwiftUI з цим можуть виникнути труднощі.Важливо мати навички для створення верстки, яка добре виглядає і в портретній, і в альбомній орієнтації екрану.
📖 У цьому матеріалі розглядається підхід з використанням протоколу Layout (доступного з iOS 16).
🇺🇦 iOSDevUA
💡Плани swift-foundation на 2025
Команда, що розробляє версію Foundation на Swift, поділилася планами на наступний рік:
👉 Покращення продуктивності бібліотеки, зокрема — написання нових бенчмарків
👉 Продовження переписування частин Foundation з C на Swift
👉 Допомога спільноті в виправленні незначних, але дратівливих проблем у дизайні та реалізації
🇺🇦 iOSDevUA
Команда, що розробляє версію Foundation на Swift, поділилася планами на наступний рік:
👉 Покращення продуктивності бібліотеки, зокрема — написання нових бенчмарків
👉 Продовження переписування частин Foundation з C на Swift
👉 Допомога спільноті в виправленні незначних, але дратівливих проблем у дизайні та реалізації
🇺🇦 iOSDevUA
Swift Forums
Swift-Foundation 2024 Annual Update
Hi everyone, I'd like to share the first-ever yearly update from Swift-Foundation workgroup. Let's review what we've accomplished in the last year and look to what's next. Year in review This was a big year for the open source Swift-Foundation package!…
This media is not supported in your browser
VIEW IN TELEGRAM
💡Реалізація додатка для гри в шахи на SwiftUI
David v.Knobelsdorff нещодавно створив шаховий додаток від початку до кінця за допомогою SwiftUI та задокументував весь процес у своєму блозі.
Це об’ємний матеріал (аж з дев’яти частин), але його варто прочитати, якщо ви цікавитесь шахами або шукаєте хороший приклад створення повноцінного додатка на SwiftUI.
1️⃣ Мотивація та термінологія.
2️⃣ Навіщо потрібні pgn-файли і як з ними працювати.
3️⃣ Реалізація логіки.
4️⃣ Створення набору компонентів.
5️⃣ База даних та кодування ходів.
6️⃣ FSRS-алгоритм (тут можна прочитати про нього додатково).
7️⃣ Шахові головоломки.
8️⃣ Використання локального шахового движка.
9️⃣ Тестування та висновки.
🇺🇦 iOSDevUA
David v.Knobelsdorff нещодавно створив шаховий додаток від початку до кінця за допомогою SwiftUI та задокументував весь процес у своєму блозі.
Це об’ємний матеріал (аж з дев’яти частин), але його варто прочитати, якщо ви цікавитесь шахами або шукаєте хороший приклад створення повноцінного додатка на SwiftUI.
1️⃣ Мотивація та термінологія.
2️⃣ Навіщо потрібні pgn-файли і як з ними працювати.
3️⃣ Реалізація логіки.
4️⃣ Створення набору компонентів.
5️⃣ База даних та кодування ходів.
6️⃣ FSRS-алгоритм (тут можна прочитати про нього додатково).
7️⃣ Шахові головоломки.
8️⃣ Використання локального шахового движка.
9️⃣ Тестування та висновки.
🇺🇦 iOSDevUA
🔥6
💡Аналог Cursor для Xcode
Новини з Copilot не закінчуються. Вийшов в бета-версії стартап Alex Sidebar, який позиціонується як Cursor для Xcode. Що він вміє:
👉 За шорткатом відкривати чат, в контекст якого потрапляє виділений фрагмент коду
👉 У сайдбар, відкритий поруч з Xcode, можна перетягувати зображення, для якого буде згенерований код
👉 Семантичний пошук по всій кодовій базі
👉 Автоматичний фікс помилок
👉 Автоматичне створення нових файлів коду
Поки в бета-версії, спробувати можна безкоштовно.
🇺🇦 iOSDevUA
Новини з Copilot не закінчуються. Вийшов в бета-версії стартап Alex Sidebar, який позиціонується як Cursor для Xcode. Що він вміє:
👉 За шорткатом відкривати чат, в контекст якого потрапляє виділений фрагмент коду
👉 У сайдбар, відкритий поруч з Xcode, можна перетягувати зображення, для якого буде згенерований код
👉 Семантичний пошук по всій кодовій базі
👉 Автоматичний фікс помилок
👉 Автоматичне створення нових файлів коду
Поки в бета-версії, спробувати можна безкоштовно.
🇺🇦 iOSDevUA
www.alexcodes.app
Alex - Xcode AI Coding Assistant
Alex is the ultimate tool for iOS and Swift app development, empowering developers with AI for Xcode to streamline workflows, tackle complex coding challenges, and boost productivity. Discover what makes it an essential asset for modern app creation.
🔥3
💡Що таке краш в iOS: детальний розбір
Звичайно, факт того, що краш — це завершення роботи додатка, є очевидним.
Джейкоб Бартлетт розглядає природу збоїв з іншого боку, адже насправді система викликає краш, щоб зберегти пристрій в безпеці.
📖 Ділюсь чудовою статтею, у якій складна тема розглядається з гумором (і навіть наведені 9 рівнів зла від падіння фрейм-рейту до компрометації системи в цілому).
Розглядаються збої не тільки в рантаймі, але й в ядрі XNU, а також зазначено, чому краши — далеко не найгірше, що може статися з пристроєм.
🇺🇦 iOSDevUA
Звичайно, факт того, що краш — це завершення роботи додатка, є очевидним.
Джейкоб Бартлетт розглядає природу збоїв з іншого боку, адже насправді система викликає краш, щоб зберегти пристрій в безпеці.
📖 Ділюсь чудовою статтею, у якій складна тема розглядається з гумором (і навіть наведені 9 рівнів зла від падіння фрейм-рейту до компрометації системи в цілому).
Розглядаються збої не тільки в рантаймі, але й в ядрі XNU, а також зазначено, чому краши — далеко не найгірше, що може статися з пристроєм.
🇺🇦 iOSDevUA
🔥5👍1🤩1
💡Swift проти мемів
Ладно, а тепер – справжня головна новина тижня. На форумі Swift заборонили меми, тож, за властивістю транзитивності, публікувати меми тепер заборонено і всім айосерам.
🇺🇦 iOSDevUA
Ладно, а тепер – справжня головна новина тижня. На форумі Swift заборонили меми, тож, за властивістю транзитивності, публікувати меми тепер заборонено і всім айосерам.
🇺🇦 iOSDevUA
💡Виявлення облич на зображеннях за допомогою фреймворку Vision
Розпізнавання облич може бути корисним інструментом для багатьох додатків.
Наприклад, в системному «Фото» від Apple це використовується для організації спеціальної колекції.
В iOS 18 для розробників з’явилася можливість використовувати новий запит FaceObservation, який спрощує роботу з такими завданнями.
📖 Доступне пояснення та приклад використання є в цій статті.
🇺🇦 iOSDevUA
Розпізнавання облич може бути корисним інструментом для багатьох додатків.
Наприклад, в системному «Фото» від Apple це використовується для організації спеціальної колекції.
В iOS 18 для розробників з’явилася можливість використовувати новий запит FaceObservation, який спрощує роботу з такими завданнями.
📖 Доступне пояснення та приклад використання є в цій статті.
🇺🇦 iOSDevUA
🔥1