💡DevToys – набір утиліт для розробки
DevToys – опенсорсний додаток, що складається з купи невеликих хелперів, які спрощують щоденну розробницьку рутину. Ось деякі з них:
👉 Конвертер з JSON у Yaml
👉 URL encoder/decoder
👉 JSON форматер
👉 Тестер регулярок
👉 Генератор хешів
🇺🇦 iOSDevUA
DevToys – опенсорсний додаток, що складається з купи невеликих хелперів, які спрощують щоденну розробницьку рутину. Ось деякі з них:
👉 Конвертер з JSON у Yaml
👉 URL encoder/decoder
👉 JSON форматер
👉 Тестер регулярок
👉 Генератор хешів
🇺🇦 iOSDevUA
💡Погруження в макроси Swift
Макроси Swift вперше були представлені на WWDC 23, і хоча це не нова концепція в програмуванні загалом, вона принесла корисні опції для розробників Swift.
Вони дозволяють налаштовувати мову Swift відповідно до наших потреб і поширювати їх серед інших розробників без зміни коду компілятора.
📖 У цьому розборі показані принципи роботи макросів, а також налаштування і використання на простому прикладі.
🇺🇦 iOSDevUA
Макроси Swift вперше були представлені на WWDC 23, і хоча це не нова концепція в програмуванні загалом, вона принесла корисні опції для розробників Swift.
Вони дозволяють налаштовувати мову Swift відповідно до наших потреб і поширювати їх серед інших розробників без зміни коду компілятора.
📖 У цьому розборі показані принципи роботи макросів, а також налаштування і використання на простому прикладі.
🇺🇦 iOSDevUA
🇺🇦 iOS Dev UA - спільнота iOS розробників
💪 Генератор для Privacy Manifest Нещодавно практично кожен додаток повинен включати спеціальний маніфест, у якому вказується, які типи даних він збирає і для чого використовує різні неблагополучні фреймворки та API. Отже, продовжуємо тиждень корисних інструментів…
💡Гайд для Privacy Manifest від інженерів Apple
Продовжуємо актуальну тему Privacy Manifest. Відео гайд від Apple як його створити, а також опис всіх API reasons.
🇺🇦 iOSDevUA
Продовжуємо актуальну тему Privacy Manifest. Відео гайд від Apple як його створити, а також опис всіх API reasons.
🇺🇦 iOSDevUA
Apple Developer
Get started with privacy manifests - WWDC23 - Videos - Apple Developer
Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app's dependencies. Find out how...
👍1🔥1
💡Вступ до Swift для розробників C++
Якщо у вас є друзі, які займаються розробкою на C++, і ви хочете познайомити їх зі своєю улюбленою мовою – ось ідеальний гайд, який проводить аналогії між ментальною моделлю плюсів та Swift і пояснює всю неочевидну магію.
👉 https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/
🇺🇦 iOSDevUA
Якщо у вас є друзі, які займаються розробкою на C++, і ви хочете познайомити їх зі своєю улюбленою мовою – ось ідеальний гайд, який проводить аналогії між ментальною моделлю плюсів та Swift і пояснює всю неочевидну магію.
👉 https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/
🇺🇦 iOSDevUA
👍1
💡Бекенд на Swift навколо ML моделі
Туторіал про те, як на Vapor написати простий бекенд, який дає доступ до Core ML моделі, що класифікує зображення.
🔗Код на GitHub
🇺🇦 iOSDevUA
Туторіал про те, як на Vapor написати простий бекенд, який дає доступ до Core ML моделі, що класифікує зображення.
🔗Код на GitHub
🇺🇦 iOSDevUA
Create with Swift
Using server-side Swift for machine learning processing
In this tutorial learn how to use a machine learning model in a Vapor server using Swift.
👍2
💡Невелика підбірка важливих хоткеїв у Xcode!
Я дуже сподіваюсь, що більшість з вас вже знайомі, якщо не з усіма, то з багатьма хоткеями, бо особисто мені стає погано, коли я бачу, як розробник з купою років досвіду не вміє нормально користуватися Xcode 🤪
Але новачкам точно буде корисно! 👍
👉 https://tanaschita.com/xcode-shortcuts/
🇺🇦 iOSDevUA
Я дуже сподіваюсь, що більшість з вас вже знайомі, якщо не з усіма, то з багатьма хоткеями, бо особисто мені стає погано, коли я бачу, як розробник з купою років досвіду не вміє нормально користуватися Xcode 🤪
Але новачкам точно буде корисно! 👍
👉 https://tanaschita.com/xcode-shortcuts/
🇺🇦 iOSDevUA
Tanaschita
My favorite Xcode keyboard shortcuts to be more productive
Using keyboard shortcuts is key of being productive and efficient when working with with Xcode. In this artice, I will show my favorite Xcode shortcuts.
💡Я кілька разів ділився матеріалом про OSLog. Це дійсно дуже зручний інструмент для логів.
Одне діло писати ці логи, але що, якщо ви хочете ще й читати їх у коді? 🤔
Наприклад, щоб зібрати логи і вивести на окремому екрані у своєму додатку, який буде доступний у дебаг-режимі? Мабуть, може бути корисним для тестувальників, щоб зручніше було знаходити проблеми і вже з деталями віддавати баг у роботу 🔥
В OSLog є така опція, хоч і з деякими обмеженнями 🥲
Детальніше у пості:
👉 https://useyourloaf.com/blog/fetching-oslog-messages-in-swift
🇺🇦 iOSDevUA
Одне діло писати ці логи, але що, якщо ви хочете ще й читати їх у коді? 🤔
Наприклад, щоб зібрати логи і вивести на окремому екрані у своєму додатку, який буде доступний у дебаг-режимі? Мабуть, може бути корисним для тестувальників, щоб зручніше було знаходити проблеми і вже з деталями віддавати баг у роботу 🔥
В OSLog є така опція, хоч і з деякими обмеженнями 🥲
Детальніше у пості:
👉 https://useyourloaf.com/blog/fetching-oslog-messages-in-swift
🇺🇦 iOSDevUA
Use Your Loaf - iOS Development News & Tips
Fetching OSLog Messages in Swift
Using the OSLog framework for logging in your Apps? How do you retrieve those logs at runtime?
👍1
З сьогоднішнього дня завантажувати додатки в 👨💻 App Store Connect можливо тільки з Xcode 15 і останньою SDK: iOS 17 і т.д.
🇺🇦 iOSDevUA
🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Детальний розбір модифікаторів Overlay і Background у SwiftUI
У інструментарії SwiftUI overlay і background відіграють незамінну роль у різних сценаріях розробки.
📖 У цій статті розглянуті не тільки їх унікальні атрибути, але й розбираються фундаментальні відмінності від ZStack, а також показані приклади сценаріїв, для яких вони призначені.
🇺🇦 iOSDevUA
У інструментарії SwiftUI overlay і background відіграють незамінну роль у різних сценаріях розробки.
📖 У цій статті розглянуті не тільки їх унікальні атрибути, але й розбираються фундаментальні відмінності від ZStack, а також показані приклади сценаріїв, для яких вони призначені.
🇺🇦 iOSDevUA
👍1
💡Якщо ви використовуєте SwiftUI, то напевно використовуєте і
👉 https://www.swiftwithvincent.com/blog/be-careful-when-using-ontapgesture
🇺🇦 iOSDevUA
.onTapGesture(). Ось стаття, де автор говорить, що з цим потрібно бути обережнішим. І наводить кілька прикладів, де це може призвести до проблем 🤔👉 https://www.swiftwithvincent.com/blog/be-careful-when-using-ontapgesture
🇺🇦 iOSDevUA
Swift with Vincent
Be careful when using .onTapGesture() — Swift with Vincent
You’re more of a video kind of person? I’ve got you covered! Here’s a video with the same content than this article 🍿
👍1
💡Ефективний спосіб завантаження великих зображень у головному потоці
У більшості випадків нам підійде варіант:
Але якщо картинка дійсно велика, то це може візуально підвісити додаток на деякий час.
Особливо це проявиться, наприклад, при роботі з колекціями.
У такому випадку можна справедливо звернутися до документації (та до поради Вінсента), в яких говориться про те, що все ж є ще один спосіб.
prepareForDisplay декодує нашу картинку у фоновому потоці, і лише після цього можна використовувати результат із
Важливо не забути повернутися у головний потік, звісно.
Або використовувати
🇺🇦 iOSDevUA
У більшості випадків нам підійде варіант:
let image = UIImage(named: "big-image")
imageView.image = image
Але якщо картинка дійсно велика, то це може візуально підвісити додаток на деякий час.
Особливо це проявиться, наприклад, при роботі з колекціями.
У такому випадку можна справедливо звернутися до документації (та до поради Вінсента), в яких говориться про те, що все ж є ще один спосіб.
prepareForDisplay декодує нашу картинку у фоновому потоці, і лише після цього можна використовувати результат із
completionHandler.Важливо не забути повернутися у головний потік, звісно.
Або використовувати
Task, якщо ви вже перевели (або переводите проект для Swift Concurrency).🇺🇦 iOSDevUA
💡Відео з мітапу Swift Server Side
Нещодавно відбувся перший офіційний мітап Swift Server Side. Програма така:
👉 Як використовувати Swift на Linux, зокрема в хмарі та на портативних пристроях
👉 Розповідь про Vapor від одного з його розробників
👉 Q&A з учасниками Server-Side Workgroup
🇺🇦 iOSDevUA
Нещодавно відбувся перший офіційний мітап Swift Server Side. Програма така:
👉 Як використовувати Swift на Linux, зокрема в хмарі та на портативних пристроях
👉 Розповідь про Vapor від одного з його розробників
👉 Q&A з учасниками Server-Side Workgroup
🇺🇦 iOSDevUA
👍1
💡Гайд по Swift Argument Parser
Якщо ви пишете на Swift якісь консольні додатки, ви точно використовуєте пакет Swift Argument Parser. У серії постів розбираються всі деталі роботи з ним, зокрема:
👉 Скорочені та повні флаги
👉 Інверсія флагів
👉 Флаги з enum'ами
З цікавого – прямо в статтю вбудована інтерактивна консоль, у якій можна погратися з прикладами.
🇺🇦 iOSDevUA
Якщо ви пишете на Swift якісь консольні додатки, ви точно використовуєте пакет Swift Argument Parser. У серії постів розбираються всі деталі роботи з ним, зокрема:
👉 Скорочені та повні флаги
👉 Інверсія флагів
👉 Флаги з enum'ами
З цікавого – прямо в статтю вбудована інтерактивна консоль, у якій можна погратися з прикладами.
🇺🇦 iOSDevUA
📲 Apple випускає четверті бета-версії для розробників та публічні бета-версії для iOS 17.5, macOS Sonoma 14.5 та інші.
Release Notes:
👉 iOS & iPadOS 17.5 Beta 4 (21F5073b)
👉 macOS Sonoma 14.5 Beta 4 (23F5074a)
👉 tvOS 17.5 Beta 4 (21L5567a)
👉 visionOS 1.2 beta 4 (21O5580a)
👉 watchOS 10.5 beta 4 (21T5571a)
🇺🇦 iOSDevUA
Release Notes:
👉 iOS & iPadOS 17.5 Beta 4 (21F5073b)
👉 macOS Sonoma 14.5 Beta 4 (23F5074a)
👉 tvOS 17.5 Beta 4 (21L5567a)
👉 visionOS 1.2 beta 4 (21O5580a)
👉 watchOS 10.5 beta 4 (21T5571a)
🇺🇦 iOSDevUA
🇺🇦 iOS Dev UA - спільнота iOS розробників
💡Гайд для Privacy Manifest від інженерів Apple Продовжуємо актуальну тему Privacy Manifest. Відео гайд від Apple як його створити, а також опис всіх API reasons. 🇺🇦 iOSDevUA
🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💡Як TextView працює під капотом
Найкраща стаття минулого тижня. Розбір купи деталей того, як TextView працює під капотом – починаючи з того, як обробляються стилі у AttributedString, закінчуючи тим, як курсор реагує на натискання кнопок на клавіатурі в залежності від положення в тексті.
👉 https://papereditor.app/internals
🇺🇦 iOSDevUA
Найкраща стаття минулого тижня. Розбір купи деталей того, як TextView працює під капотом – починаючи з того, як обробляються стилі у AttributedString, закінчуючи тим, як курсор реагує на натискання кнопок на клавіатурі в залежності від положення в тексті.
👉 https://papereditor.app/internals
🇺🇦 iOSDevUA
👍1
💡Створення додатку-чату, використовуючи StreamChat SDK та SwiftUI
🛠 SDK на Github включає в себе гарний набір високопродуктивних та налаштовуваних компонентів інтерфейсу.
📖 А в цій статті наводиться приклад налаштування (близько 100 рядків коду на повністю робочий додаток).
Додам, що SDK та приклад додатку дозволять ознайомитися з чатом, але при власній реалізації чекатимуть зовсім інші складнощі. Наприклад, як додаток буде справлятися з сотнями повідомлень в секунду (вірте, буває і таке), і як при цьому буде поводити себе інтерфейс. Втім, це зовсім інша історія😎
🇺🇦 iOSDevUA
🛠 SDK на Github включає в себе гарний набір високопродуктивних та налаштовуваних компонентів інтерфейсу.
📖 А в цій статті наводиться приклад налаштування (близько 100 рядків коду на повністю робочий додаток).
Додам, що SDK та приклад додатку дозволять ознайомитися з чатом, але при власній реалізації чекатимуть зовсім інші складнощі. Наприклад, як додаток буде справлятися з сотнями повідомлень в секунду (вірте, буває і таке), і як при цьому буде поводити себе інтерфейс. Втім, це зовсім інша історія😎
🇺🇦 iOSDevUA
👍1🔥1
💡У Swift 6 імпорти можна буде робити публічними або приватними. Це також вплине на ваші публічні функції, якщо ви хочете в них повернути щось, що заімпортовано з якоїсь бібліотеки, наприклад, а вона приватна.
Загалом виглядає цікаво, але набагато цікавіше зрозуміти, який профіт ми з цього отримаємо і як це позначиться на часі збирання, наприклад, та інших важливих речах.
Детальніше можна подивитись у статті, але найцікавіші дослідження з цієї теми ще попереду, думаю!
👉 https://www.polpiella.dev/swift-6-import-access-level
🇺🇦 iOSDevUA
Загалом виглядає цікаво, але набагато цікавіше зрозуміти, який профіт ми з цього отримаємо і як це позначиться на часі збирання, наприклад, та інших важливих речах.
Детальніше можна подивитись у статті, але найцікавіші дослідження з цієї теми ще попереду, думаю!
👉 https://www.polpiella.dev/swift-6-import-access-level
🇺🇦 iOSDevUA
www.polpiella.dev
Swift 6: Access level on import statements
How to get ready for Swift 6's new import access level feature and make sure that you are not caught by surprise by the breaking changes that come with it.
💡Apple змінює умови комісії Core Technology Fee, це та, що про альтернативні магазини:
1. Якщо не заробляєте на додатках, то CTF анулюється. Тільки персональні додатки, бізнесу не можна. Підтверджувати статус щорічно.
2. Якщо додаток став вірусним у перші три роки, то CTF за понад мільйон установок брати не будуть. Дохід повинен бути менше €10 млн.
3. Адаптивний CTF від доходу:
До €10 млн: CTF не стягується протягом трьох років.
Від 10 до 50: CTF до €1 млн на рік протягом трьох років.
Понад 50: стягується повний CTF.
Apple раніше говорила, що їхня комісія небезпечна для студентів та вірусних додатків. Нові умови пом'якшують це.
👉 https://developer.apple.com/news/?id=d0z8d8rx
🇺🇦 iOSDevUA
1. Якщо не заробляєте на додатках, то CTF анулюється. Тільки персональні додатки, бізнесу не можна. Підтверджувати статус щорічно.
2. Якщо додаток став вірусним у перші три роки, то CTF за понад мільйон установок брати не будуть. Дохід повинен бути менше €10 млн.
3. Адаптивний CTF від доходу:
До €10 млн: CTF не стягується протягом трьох років.
Від 10 до 50: CTF до €1 млн на рік протягом трьох років.
Понад 50: стягується повний CTF.
Apple раніше говорила, що їхня комісія небезпечна для студентів та вірусних додатків. Нові умови пом'якшують це.
👉 https://developer.apple.com/news/?id=d0z8d8rx
🇺🇦 iOSDevUA
Apple
Core Technology Fee - Support - Apple Developer
The Core Technology Fee (CTF) is an element of the business terms in the European Union (EU) if a developer chooses to adopt the Alternative Terms Addendum for Apps in the EU. The fee reflects the value Apple provides developers through ongoing investments…
💡Про Safe Area, мабуть, знають усі, і що стосується UIKit, вже давно мали б навчитися працювати з нею.
А от з SwiftUI + Safe Area ще можуть бути проблеми, думаю.
Ось стаття, яка, якщо і не закриє всі питання, то хоча б з базовими має допомогти 👍
👉 https://swiftwithmajid.com/2021/11/03/managing-safe-area-in-swiftui/
🇺🇦 iOSDevUA
А от з SwiftUI + Safe Area ще можуть бути проблеми, думаю.
Ось стаття, яка, якщо і не закриє всі питання, то хоча б з базовими має допомогти 👍
👉 https://swiftwithmajid.com/2021/11/03/managing-safe-area-in-swiftui/
🇺🇦 iOSDevUA
👍3