Ранее, в обзоре нововведений Xcode 16, я уже рассказывал про экспериментальный режим компиляции Swift модулей, в статье приводятся реальные примеры использования и бенчмарки скорости компиляции и отладки. Первоначальные тесты показали, ускорение наблюдается не всегда, но экспериментальность такого метода подсказывает нам о возможных улучшениях в процессе получения фидбека от нас
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0431: isolated(any) Function Types
Swift 6 про работу с параллелизмом, в пропоузале добавляется новая возможность к функциональным значениям.
Суть проблемы:
Каждая декларация в Swift имеет некоторую четко определенную статическую изоляцию. Кложуры, однако, являются особенными. На их изоляцию влияет не только то, где они определены, но и то, что они захватывают. В данном предложении добавлена возможность проверить изолированность значения функции.
Кложур, помеченный
Добавление
Будет
Swift 6 про работу с параллелизмом, в пропоузале добавляется новая возможность к функциональным значениям.
Суть проблемы:
Каждая декларация в Swift имеет некоторую четко определенную статическую изоляцию. Кложуры, однако, являются особенными. На их изоляцию влияет не только то, где они определены, но и то, что они захватывают. В данном предложении добавлена возможность проверить изолированность значения функции.
Кложур, помеченный
@isolated(any)
, может "экспоузить" захваченную изоляцию во время выполнения.
func traverse(operation: @isolated(any) (Node) -> ()) {
let isolation = operation.isolation
}
Добавление
@isolated(any)
к замыканию означает, что оно должно вызываться с await
. Это верно, даже если оно не выходит из изоляции. Начиная со Swift 6, вывод кода типа:
Task { print("1") }
Task { print("2") }
Task { print("3") }
Будет
"1", "2", "3"
❤5
This media is not supported in your browser
VIEW IN TELEGRAM
В отличии от императивных подходов к навигации, при работе со SwiftUI создание View может происходить не так как мы думаем, исходя из опыта использования UIKit. Это приводит к инициализации экранов до того, как они действительно понадобятся. Статья показывает на примере:
Надеюсь, вы до этого уже дошли сами, это прям обязательный тер. минимум для всех кто использует SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Cтатья с примерами по работе с анимациями в SwiftUI, используя протоколы
Animatable
и AnimatablePair
Animatable
в SwiftUI позволяет создавать плавную анимацию свойств объектов путем определения методов интерполяцииAnimatablePair
, обеспечивающего одновременные и скоординированные переходыAnimatable
позволяет создавать пользовательские формы, сложные комбинации свойств, нечисловые свойства и нестандартные анимацииAnimatable
может применяться для анимации текста в SwiftUI, обеспечивая точную интерполяцию между начальным и конечным значениямиPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В результе антимонопольного разбирательства, Европейский союз заставил Apple предоставить конкурентам доступ к Apple Pay. Сомнений в соблюдении договоренностей нет, на кону штраф в размере до 10% от годовой выручки компании по всему миру.
ЕС делает iOS все лучше, быстрее бы уже это стало не эксклюзивом для ЕС. Надоело притворяться что приклеенная карта на телефоне это удобно
Please open Telegram to view this post
VIEW IN TELEGRAM
European Commission - European Commission
Remarks by Executive Vice-President Vestager on the decision to make binding commitments offered by Apple
Today, the Commission has decided to accept commitments offered by Apple. These commitments address our preliminary concerns that Apple may have illegally restricted competition for mobile wallets on
👍14
Лонгрид с примерами на все выходные, самый обширный разбор использования нового фреймворка для тестирования! Просто перечислю основные моменты, которые разбираются в статье:
Даже из списко разобранных тем понятно что это достойно!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Находка дня: удобный опенсорсный клиент для работы с локальными LLM моделями. Если вы используете на работе GPT, скорее всего вам это не нужно. Но если у вас есть ограничения и нужно гонять локальные модели, то этот клиент выглядит идеально
Доступен в AppStore и Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
При создании новой версии приложения необходимо предоставить рекламный текст и заполнить секцию что нового - это поля, которые редко меняются, однако по умолчанию Apple не заполняет его значением предыдущей версии.
В этой статье приводится пример использования AppStoreConnect API для автоматизации релизной рутины. В целом, ничего особенного, но как пример работы с API из Swift - интересный пример
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SDUI становится все популярнее, но каждый реализует свой велосипед, из-за специфики требований.В статье приводится подробный пример реализации простого пользовательского Server-Driven интерфейса и ключевые советы по реализации и лучшие практики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔2
Сейчас у многих, в рамках работы с рисками, идет отказ от Firebase Crashlytics. Для меня весь тулинг Firebase был спорным, раз это бесплатный продукт от Google, значит товар это данные наших пользователей. Раньше можно было вырезать всю аналитику кроме Crashlytics, сейчас минимальный набор данных все равно трекается. Какие есть альтернативы? Инструмент с открытыми исходниками от Microsoft - PLCrashReporter. Библиотека обнаруживает сбои и генерирует отчеты, которые помогут вам в расследовании и устранении неполадок, предоставляя информацию о приложении, системе, процессе, потоке и т.д., а также трассировку стека. Из коробки он интегрируется с AppCenter, что идентично продажа данных пользователей. Однако, в последних релизах появилась возможность использовать PLCrashReporter напрямую.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔6👍1🔥1
Главная тема на сегодня это синий экран смерти. Забавный факт о нем: на презентации Windows 98, при подключении к демонстрационному компьютеру сканера произошла фатальная ошибка с синим экраном смерти, в тот момент Гейтс отшутился: «Должно быть, именно поэтому мы пока и не продаём Windows 98». 2024 год, рекомендация Microsoft для всех, кого затронул сегодняшний сбой: перезагрузите Windows 15 раз
📱 Реализация бесконечного 4-направленного постаничного скролла
В статье рассматривается реализация пейджера с возможностью прокрутки в четырех направлениях на SwiftUI. Статья интересна разбором ограничений SwiftUI и оригинальными решения по их обходу. Если вы еще не реализовывали бесконечный пейджер, статья однозначно достойна прочтения
В статье рассматривается реализация пейджера с возможностью прокрутки в четырех направлениях на SwiftUI. Статья интересна разбором ограничений SwiftUI и оригинальными решения по их обходу. Если вы еще не реализовывали бесконечный пейджер, статья однозначно достойна прочтения
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👏1