bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
SwiftPM Snippets
Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
Изменения структуры проекта в Xcode 16
В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
Официальная спецификация для Lottie
У Lottie теперь есть официальная спецификация версии 1.0. Она включает в себя все базовые фичи вроде layers, shapes, transforms. Сама спека описана здесь, а будущий роадмап – тут.
У Lottie теперь есть официальная спецификация версии 1.0. Она включает в себя все базовые фичи вроде layers, shapes, transforms. Сама спека описана здесь, а будущий роадмап – тут.
У Swift теперь есть интероп с Java
Вчера на конференции про serverside Swift анонсировали новый проект – официальный интероп Swift с Java. Работает в обе стороны, подробности можно почитать тут.
А если вы захотите побольше разобраться с тем, как работают интеропы между разными языками, послушайте последний выпуск Подлодки, мы эту тему разобрали максимально подробно.
Вчера на конференции про serverside Swift анонсировали новый проект – официальный интероп Swift с Java. Работает в обе стороны, подробности можно почитать тут.
А если вы захотите побольше разобраться с тем, как работают интеропы между разными языками, послушайте последний выпуск Подлодки, мы эту тему разобрали максимально подробно.
GitHub
GitHub - swiftlang/swift-java
Contribute to swiftlang/swift-java development by creating an account on GitHub.
Backend-Driven UI в ЦИАН
Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
Телеметрия в мобильных приложениях
Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.
Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.
Traits в Swift Testing
Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
SwiftLee
Using Traits to annotate and customize test behavior
Customize and annotate tests with traits in the Swift Testing framework. Learn how to configure behaviors and skip certain tests.
Как запретить удалять ваше приложение
Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
tiny coder
Preventing app removal on iOS - tiny coder
These days, I am developing an alarm app called ‘SuperAlarm’.
To ensure a user is awake, SuperAlarm can be turned off only after a user completes a mission(e.g., taking a picture...
To ensure a user is awake, SuperAlarm can be turned off only after a user completes a mission(e.g., taking a picture...
Please open Telegram to view this post
VIEW IN TELEGRAM
Низкоуровневый процессинг аудио с AVFoundation
Пример того, как написать простую библиотеку с удобным API для создания аудиоэффектов поверх AVFoundation. Источник вдохновения – Objective-C библиотека Novocaine.
Пример того, как написать простую библиотеку с удобным API для создания аудиоэффектов поверх AVFoundation. Источник вдохновения – Objective-C библиотека Novocaine.
Orestis Papadopoulos
AVAudioEffectNode: painless low level audio effects written in Swift
I'm Orestis Papadopoulos. I work as a software developer. This is my blog, I write about software, sounds and Swift.
Swift Container Plugin
Плагин для SwiftPM, с помощью которого можно собирать контейнеры с вашими серверными приложениями и публиковать их в нужные облака. Доклад с деталями можно посмотреть тут.
Плагин для SwiftPM, с помощью которого можно собирать контейнеры с вашими серверными приложениями и публиковать их в нужные облака. Доклад с деталями можно посмотреть тут.
SafariExtension на SwiftUI
Если бы меня сходу спросили, на чем разрабатываются расширения для Safari, я был бы уверен, что это JavaScript. Оказывается, их можно писать нативно на SwiftUI!
Если бы меня сходу спросили, на чем разрабатываются расширения для Safari, я был бы уверен, что это JavaScript. Оказывается, их можно писать нативно на SwiftUI!
www.polpiella.dev
How to build a Safari extension with SwiftUI
Learn how to create a Safari Extension as a popover using only Swift and how to render its UI using SwiftUI.
Всем привет!
На связи команда RuStore.
Каждый день мы стараемся делать RuStore ещё удобнее и будем благодарны за вашу помощь. Примите участие в исследовании о работе магазинов приложений, заполнив небольшой опрос.
Это займёт не более 5 минут и поможет нам стать лучше.
Пройти опрос по ссылке.
На связи команда RuStore.
Каждый день мы стараемся делать RuStore ещё удобнее и будем благодарны за вашу помощь. Примите участие в исследовании о работе магазинов приложений, заполнив небольшой опрос.
Это займёт не более 5 минут и поможет нам стать лучше.
Пройти опрос по ссылке.
Ускорение сетевых запросов на старте приложения
Ребята из Додо делятся своим опытом профилирования сетевых запросов и кучи оптимизаций, которые помогли ускорить старт приложения в два раза. Примеры оптимизаций:
👉По одной URLSession на хост для переиспользования коннекшнов
👉Прогрев коннекшна первой строчкой в приложении
👉Оптимизация порядка запросов с оглядкой на UX
Ребята из Додо делятся своим опытом профилирования сетевых запросов и кучи оптимизаций, которые помогли ускорить старт приложения в два раза. Примеры оптимизаций:
👉По одной URLSession на хост для переиспользования коннекшнов
👉Прогрев коннекшна первой строчкой в приложении
👉Оптимизация порядка запросов с оглядкой на UX
Обзор недавней Server-Side Swift конференции
Недавно прошла первая большая конференция, посвященная Swift на сервере. Это на ней анонсировали интероп с Java и штуки вроде плагина для контейнеризации, про которые я уже рассказывал в канале.
Держите статью с кратким содержанием всех докладов, чтобы вы могли сами решить, на что еще обратить внимание. Я все еще удивляюсь, что Things, мой любимый туду лист, довольно давно переехал на Swift, и вроде бы довольны.
Недавно прошла первая большая конференция, посвященная Swift на сервере. Это на ней анонсировали интероп с Java и штуки вроде плагина для контейнеризации, про которые я уже рассказывал в канале.
Держите статью с кратким содержанием всех докладов, чтобы вы могли сами решить, на что еще обратить внимание. Я все еще удивляюсь, что Things, мой любимый туду лист, довольно давно переехал на Swift, и вроде бы довольны.
Как сохранять микросекунды при конверсии Date <-> String
Нрбольшое напоминание – при конвертации строки в дату и обратно с использованием DateFormatter информация о микросекундах теряется. Если для вас они важны, то в статье разбирается, как сохранить их значение.
Нрбольшое напоминание – при конвертации строки в дату и обратно с использованием DateFormatter информация о микросекундах теряется. Если для вас они важны, то в статье разбирается, как сохранить их значение.
Augmented Code
How to keep Date’s microseconds precision in Swift
DateFormatter is used for converting string representation of date and time to a Date type and visa-versa. Something to be aware of is that the conversion loses microseconds precision. This is extr…
Эпизод Swift Talk про Concurrency
Ребята из Objc.io выпустили бесплатный эпизод своего видеоблога про Swift Concurrency. где на примере небольшого macOS приложения разбираются с основными фичами и ошибками компиляции.
Ребята из Objc.io выпустили бесплатный эпизод своего видеоблога про Swift Concurrency. где на примере небольшого macOS приложения разбираются с основными фичами и ошибками компиляции.
talk.objc.io
Swift 6 Concurrency (Part 1)
We start a new macOS project to explore Swift 6's concurrency features.
Новые статьи в документации
Держите пачку октябрьских обновлений документации Apple:
👉Win-back offers: специальный тип подписок, направленный на возвращение ушедших от вас пользователей
👉Camera Control: HIG и документация
👉Гайд по поддержке разных размеров часов
👉Новые семплы для visionOS
Держите пачку октябрьских обновлений документации Apple:
👉Win-back offers: специальный тип подписок, направленный на возвращение ушедших от вас пользователей
👉Camera Control: HIG и документация
👉Гайд по поддержке разных размеров часов
👉Новые семплы для visionOS
Genesis – новый генератор статических сайтов на Swift
Генератор статических сайтов – один из самых простых способов собрать себе тот самый блог, о котором вы давно мечтали. А если этот генератор написан на Swift, вы еще можете и поиграться с необычным применением любимого языка.
Genesis – еще один такой генератор. От альтернатив его отличает максимально простая реализация, отсутствие каких-то внешних зависимостей и работа со строками вместо сложных DSL.
Генератор статических сайтов – один из самых простых способов собрать себе тот самый блог, о котором вы давно мечтали. А если этот генератор написан на Swift, вы еще можете и поиграться с необычным применением любимого языка.
Genesis – еще один такой генератор. От альтернатив его отличает максимально простая реализация, отсутствие каких-то внешних зависимостей и работа со строками вместо сложных DSL.
Alejandro M. P.
Back to the basics with Genesis | Alejandro M. P.
Recently, I finished an almost final draft of my novel and decided it was time to refresh my online presence and website. Instead of starting my next novel, I dove into creating the next version of my site, what I call alejandromp4. And, of course, you know…
Рекомендации по оптимизации перфоманса
GitHub репозиторий с подборкой статей, инструментов и кейсов оптимизации разных аспектов перфоманса.
GitHub репозиторий с подборкой статей, инструментов и кейсов оптимизации разных аспектов перфоманса.