bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Рецепты работы со Swift Concurrency
GitHub репозиторий с подборкой паттернов работы с многопоточностью в Swift.
👉Async Context
👉Protocols
👉Isolation
👉Structured Concurrency
👉SwiftUI
👉Libraries not designed for concurrency
👉Interoperability
GitHub репозиторий с подборкой паттернов работы с многопоточностью в Swift.
👉Async Context
👉Protocols
👉Isolation
👉Structured Concurrency
👉SwiftUI
👉Libraries not designed for concurrency
👉Interoperability
GitHub
GitHub - mattmassicotte/ConcurrencyRecipes: Practical solutions to problems with Swift Concurrency
Practical solutions to problems with Swift Concurrency - mattmassicotte/ConcurrencyRecipes
Microsoft App Center – все
На главной странице App Center, главной альтернативы Crashlytics, появилось сообщение о том, что в 2025 году сервис будет закрыт. Часть сервисов продолжат существовать отдельно:
👉Build переезжает в Azure Pipelines
👉CodePush предлагают поднимать самим, по запросу выдают сборку
👉Аналитику реализует часть сервисов Azure
На главной странице App Center, главной альтернативы Crashlytics, появилось сообщение о том, что в 2025 году сервис будет закрыт. Часть сервисов продолжат существовать отдельно:
👉Build переезжает в Azure Pipelines
👉CodePush предлагают поднимать самим, по запросу выдают сборку
👉Аналитику реализует часть сервисов Azure
Генерация Swift интерфейсов из Pkl файлов
Помните, что Apple недавно выпустили Pkl, новый конфигурационный язык? Держите статью про то, как с помощью SwiftPM плагина генерировать интерфейсы из Pkl и использовать в своих приложениях.
Помните, что Apple недавно выпустили Pkl, новый конфигурационный язык? Держите статью про то, как с помощью SwiftPM плагина генерировать интерфейсы из Pkl и использовать в своих приложениях.
Pack Iteration в Swift 6.0
В Swift 6.0 появится фича pack iteration – итератор по элементам туплов. Это стало особенно актуально, потому что, начиная со Swift 5.9, мы больше не ограничены шестью параметрами в туплах.
В статье много примеров того, как pack iteration упрощает жизнь в частых сценариях.
В Swift 6.0 появится фича pack iteration – итератор по элементам туплов. Это стало особенно актуально, потому что, начиная со Swift 5.9, мы больше не ограничены шестью параметрами в туплах.
В статье много примеров того, как pack iteration упрощает жизнь в частых сценариях.
Swift.org
Iterate Over Parameter Packs in Swift 6.0
Parameter packs, introduced in Swift 5.9, make it possible to write generics that abstract over the number of arguments. This eliminates the need to have overloaded copies of the same generic function for one argument, two arguments, three arguments, and…
Разбор 20 пейволлов разных приложений
Если в вашем приложении есть пейволлы, то обязательно посмотрите примеры по ссылке – они могут натолкнуть вас и ваших продактов на новые идеи по их улучшению.
Если в вашем приложении есть пейволлы, то обязательно посмотрите примеры по ссылке – они могут натолкнуть вас и ваших продактов на новые идеи по их улучшению.
Релиз библиотеки Time 1.0.0
Dave De Long спустя четыре года разработки выложил первый стабильный релиз библиотеки для работы с датой и временем Time.
Основные фичи:
👉Активно используется система типов, что предохраняет от ошибок.
👉Все значения дат и времени привязываются к конкретному календарю, локали и таймзоне, что тоже уменьшает потенциал для ошибок.
👉Можно создавать часы, которые работают медленнее или быстрее системного времени, что поможет в тестировании.
👉Удобные операции по конвертации, сравнению и сдвигу дат.
🔗GitHub
🔗Swift Package Index
Dave De Long спустя четыре года разработки выложил первый стабильный релиз библиотеки для работы с датой и временем Time.
Основные фичи:
👉Активно используется система типов, что предохраняет от ошибок.
👉Все значения дат и времени привязываются к конкретному календарю, локали и таймзоне, что тоже уменьшает потенциал для ошибок.
👉Можно создавать часы, которые работают медленнее или быстрее системного времени, что поможет в тестировании.
👉Удобные операции по конвертации, сравнению и сдвигу дат.
🔗GitHub
🔗Swift Package Index
Новые отчеты в App Store Connect аналитике
В App Store Connect API завезли 50 новых отчетов с сотнями новых метрик. Очень круто, что Apple стали относится к своему API как к first class citizen!
В App Store Connect API завезли 50 новых отчетов с сотнями новых метрик. Очень круто, что Apple стали относится к своему API как к first class citizen!
Отзыв про текущее состояние Swift on Server
Очень клевый подробный отзыв от компании, которая использует Swift для серверной и десктопной разработки, про текущее состояние языка и экосистемы. Вывод – использовать можно, экосистема богаче одидаемого, но простор для доработок еще большой.
Очень клевый подробный отзыв от компании, которая использует Swift для серверной и десктопной разработки, про текущее состояние языка и экосистемы. Вывод – использовать можно, экосистема богаче одидаемого, но простор для доработок еще большой.
Swift Forums
Our journey with Swift thus far - some notes and reflections
Hello! Background Our team is quietly working on developing a new electronic trading system using Swift on macOS and Linux, building on our experience from two previous projects that have been done in C, Objective-C, C++, Java, C# and even for a while, homegrown…
Самые популярные настройки git config
👉
👉
👉
👉
👉
👉
👉
pull.ff only
или pull.rebase true
– защита от случайного создания мердж-коммита при git pull👉
merge.conflictstyle zdiff3
– более подробная информация о конфликтах👉
rebase.autosquash true
– упрощение использования git squash для слияния разных коммитов друг с другом👉
rebase.autostash true
– автоматический stash при git rebase👉
push.default simple
, push.default current
, push.autoSetupRemote true
– автоматический пуш локальной ветки в ремоут👉
rerere.enabled true
– автоматическое применение стратегии разрешения конфликтов, которую вы использовали в прошлый разКак исправить фриз в чужом приложении
Разработчик решил пофиксить раздражающий его фриз в приложении Disneyland, зареверсинжинирив их приложение.
Разработчик решил пофиксить раздражающий его фриз в приложении Disneyland, зареверсинжинирив их приложение.
YouTube
Hacking Disneyland's App to fix a Freeze
Let's walk through the the process of reverse engineering the Disneyland app to fix a freeze that's been bugging me.
As always, find more iOS nonsense over on https://bryce.co !
As always, find more iOS nonsense over on https://bryce.co !
Автоматическая публикация DocC на GitHub pages
Пример того, как настроить GitHub Actions, чтобы с каждым релизом вашей библиотеки обновленная DocC документация публиковалась на GitHub Pages.
Пример того, как настроить GitHub Actions, чтобы с каждым релизом вашей библиотеки обновленная DocC документация публиковалась на GitHub Pages.
Daniel Saidi
Publish DocC to GitHub Pages with GitHub Actions
In this post, we’ll see how we can use GitHub Actions to automatically build and publish a Swift Package’s DocC docs to GitHub Pages, eve...
Как отвечать на вопрос "Are you a trader?"
После новых регуляций в Европе, Apple начала задавать вопрос про то, являетесь ли вы трейдером, перед загрузкой новых приложений в App Store. Если вы зарабатываете со своих приложений хоть что-то, то на вопрос надо отвечать утвердительно. В статье пошагово разбирается, как предоставить Apple всю требуемую информацию.
После новых регуляций в Европе, Apple начала задавать вопрос про то, являетесь ли вы трейдером, перед загрузкой новых приложений в App Store. Если вы зарабатываете со своих приложений хоть что-то, то на вопрос надо отвечать утвердительно. В статье пошагово разбирается, как предоставить Apple всю требуемую информацию.
Гайд по миграции на Bazel
Очень подробный гайд по тому, как настроить сборку проекта с помощью Bazel на основе приложения для Mastodon:
👉Описание таргетов
👉Интеграция с Xcode
👉Настройка удаленного кеша
👉Модуляризация
Очень подробный гайд по тому, как настроить сборку проекта с помощью Bazel на основе приложения для Mastodon:
👉Описание таргетов
👉Интеграция с Xcode
👉Настройка удаленного кеша
👉Модуляризация
Brentley’s Blog
How to migrate an iOS app to Bazel
Wondering how to migrate your Apple-based project to Bazel? Whether it’s iOS, macOS, watchOS, tvOS, or visionOS, this guide is for you.
Как TextView работает под капотом
Лучшая статья прошлой недели. Разбор кучи деталей того, как TextView работает под капотом – начиная с того, как обратываются стили у AttributedString, заканчивая тем, как курсор реагирует на нажатие кнопок на клавиатуре в зависимости от положения в тексте.
Лучшая статья прошлой недели. Разбор кучи деталей того, как TextView работает под капотом – начиная с того, как обратываются стили у AttributedString, заканчивая тем, как курсор реагирует на нажатие кнопок на клавиатуре в зависимости от положения в тексте.
Снова про перфоманс макросов
Я уже ссылался на эпичный тред на Swift Forums, где разработчики жалуются на влияние наличия пакета SwiftSyntax на скорость компиляции кода с макросами. Так вот, проблемы остаются, даже если использовать предкомпилированный SwiftSyntax. Код с макросами, взятыми из примеров Apple, все равно собирается примерно в два раза дольше, чем без них.
Я уже ссылался на эпичный тред на Swift Forums, где разработчики жалуются на влияние наличия пакета SwiftSyntax на скорость компиляции кода с макросами. Так вот, проблемы остаются, даже если использовать предкомпилированный SwiftSyntax. Код с макросами, взятыми из примеров Apple, все равно собирается примерно в два раза дольше, чем без них.
WWDC пройдет 10-14 июня
Объявили даты WWDC. Все как в прошлом году, основной контент в онлайне, но кейноут пройдет в Apple Park.
Объявили даты WWDC. Все как в прошлом году, основной контент в онлайне, но кейноут пройдет в Apple Park.
DevToys – набор утилит для разработки
DevToys – опенсорсное приложение, состоящее из кучи небольших хелперов, которые упрощают ежедневную разработческую рутину. Вот некоторые из них:
👉Конвертер из JSON в Yaml
👉URL encoder/decoder
👉JSON форматтер
👉Тестер регулярок
👉Генератор хешей
DevToys – опенсорсное приложение, состоящее из кучи небольших хелперов, которые упрощают ежедневную разработческую рутину. Вот некоторые из них:
👉Конвертер из JSON в Yaml
👉URL encoder/decoder
👉JSON форматтер
👉Тестер регулярок
👉Генератор хешей