bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Обновление библиотеки SwiftUI Navigation от PointFree
Доработанный подход к навигации – одна из ключевых фичей будущего релиза TCA 1.0. На пути к нему команда PointFree обновила свою навигационную библиотеку. В релизе две ключевые фичи:
🚏Работа с навигационным стеком
⚠️Новые API для алертов и диалогов
Перевод на русский язык
Доработанный подход к навигации – одна из ключевых фичей будущего релиза TCA 1.0. На пути к нему команда PointFree обновила свою навигационную библиотеку. В релизе две ключевые фичи:
🚏Работа с навигационным стеком
⚠️Новые API для алертов и диалогов
Перевод на русский язык
Рассказ об участии в контесте Telegram
Недавно закончился очередной контест Telegram, в котором надо было реализовать медиаредактор. Один из участников конкурса написал по итогам статью, в которой рассказал про:
🏞Реализацию галереи фото пользователя
🛠Медиаредактор: выбор цвета, пипетку и анимации
➰Отрисовку линий без PencilKit
🎨Работу с текстом и реализацию различных эффектов
Недавно закончился очередной контест Telegram, в котором надо было реализовать медиаредактор. Один из участников конкурса написал по итогам статью, в которой рассказал про:
🏞Реализацию галереи фото пользователя
🛠Медиаредактор: выбор цвета, пипетку и анимации
➰Отрисовку линий без PencilKit
🎨Работу с текстом и реализацию различных эффектов
График с частичным закрашиванием области на Swift Charts
В статье разбирается, как с помощью Swift Charts собрать график, показывающий изменение индекса ультрафиолета в течение дня. Ключевые особенности графика:
- Область графика закрашивается градиентом в зависимости от уровня УФ
- Кривая графика тоже окрашена градиентом
- Текущее время отображается вертикальной линией поверх графика
- Часть графика, относящаяся к прошедшему периоду времени, затемняется
В статье разбирается, как с помощью Swift Charts собрать график, показывающий изменение индекса ультрафиолета в течение дня. Ключевые особенности графика:
- Область графика закрашивается градиентом в зависимости от уровня УФ
- Кривая графика тоже окрашена градиентом
- Текущее время отображается вертикальной линией поверх графика
- Часть графика, относящаяся к прошедшему периоду времени, затемняется
Скидки на плейлисты iOS Crew
Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:
🏎️Перфоманс и профайлинг с кучей воркшопов по разным инструментам и практикам
🌈Анимации: серия воркшопов от простых к самым сложным визуальным эффектам
🤯iOS под капотом: хардкорнейшие сессии про кишки iOS SDK, компилятора и билд системы
🧱Techlead Crew: Проектируем с нуля – для тех, кто хочет вкачать свои архитектурные навыки
Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.
👉Магазин плейлистов
Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:
🏎️Перфоманс и профайлинг с кучей воркшопов по разным инструментам и практикам
🌈Анимации: серия воркшопов от простых к самым сложным визуальным эффектам
🤯iOS под капотом: хардкорнейшие сессии про кишки iOS SDK, компилятора и билд системы
🧱Techlead Crew: Проектируем с нуля – для тех, кто хочет вкачать свои архитектурные навыки
Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.
👉Магазин плейлистов
Скрытие информации Lock Screen Widgets в заблокированном устройстве
- Пользователь может запретить всем lock screen виджетам отображать информацию на заблокированном экране устройства. Но эта настройка довольно глубоко спрятана, а для некоторых типов приложений приватность – критична.
- Чтобы всегда скрывать информацию, нужно сделать две вещи – подкрутить Entitlements в приложении, добавив специальный флаг, и добавить виджету модификатор privacySensitive.
Перевод на русский язык
- Пользователь может запретить всем lock screen виджетам отображать информацию на заблокированном экране устройства. Но эта настройка довольно глубоко спрятана, а для некоторых типов приложений приватность – критична.
- Чтобы всегда скрывать информацию, нужно сделать две вещи – подкрутить Entitlements в приложении, добавив специальный флаг, и добавить виджету модификатор privacySensitive.
Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
iOS на YaTalks: уже 3 и 4 декабря
На YaTalks, традиционной конференции Яндекса для IT-комьюнити, один из треков посвятили mobile. В нем будет несколько докладов про iOS:
— Умная камера: как встроить в iOS приложение распознавание текста для незрячих.
— Подводные камни локализации iOS-приложений.
— Как iOS анализирует наше здоровье: HealthKit, ResearchKit, CareKit, Activity и какие датчики это считывают.
Кроме докладов организаторы YaTalks подготовили множество других форматов: дискуссии, дебаты, питчинг опенсорс-проектов, рэндом-кофе и индивидуальные консультации с экспертами. Скучно точно не будет.
Зарегистрироваться
На YaTalks, традиционной конференции Яндекса для IT-комьюнити, один из треков посвятили mobile. В нем будет несколько докладов про iOS:
— Умная камера: как встроить в iOS приложение распознавание текста для незрячих.
— Подводные камни локализации iOS-приложений.
— Как iOS анализирует наше здоровье: HealthKit, ResearchKit, CareKit, Activity и какие датчики это считывают.
Кроме докладов организаторы YaTalks подготовили множество других форматов: дискуссии, дебаты, питчинг опенсорс-проектов, рэндом-кофе и индивидуальные консультации с экспертами. Скучно точно не будет.
Зарегистрироваться
Протокол Layout в SwiftUI: кэширование
- SwiftUI умеет автоматически кешировать часть расчетов кастомного лэйаута, но гораздо эффективнее разобраться с кэшированием самостоятельно.
- У протокола Layout есть две функции – makeCache и updateCache, которые позволяют управлять состоянием закешированных расчетов.
- Кэш можно обновлять в функциях sizeThatFits и placeSubviews.
Перевод на русский язык
- SwiftUI умеет автоматически кешировать часть расчетов кастомного лэйаута, но гораздо эффективнее разобраться с кэшированием самостоятельно.
- У протокола Layout есть две функции – makeCache и updateCache, которые позволяют управлять состоянием закешированных расчетов.
- Кэш можно обновлять в функциях sizeThatFits и placeSubviews.
Перевод на русский язык
Консультации с экспертами по работе с App Store
До 8 декабря Apple проводит консультации разработчиков со своими экспертами по различным аспектам работы с App Store: продвижению, оформлению страницы, работе с TestFlight. Формат – презентация по теме и Q&A после нее.
До 8 декабря Apple проводит консультации разработчиков со своими экспертами по различным аспектам работы с App Store: продвижению, оформлению страницы, работе с TestFlight. Формат – презентация по теме и Q&A после нее.
Подборка материалов от Apple про продвижение приложения в App Store
За последний год команда Apple потратила много сил на то, чтобы улучшить документацию в областях, не связанных непосредственно с написанием кода. Один из таких обновленных разделов – статьи про работу с App Store.
👀 Страница приложения и поисковая оптимизация (кастомные лендинги приложений, тестирование страниц, получение фичеринга)
💰Бизнес и аналитика (снижение комиссии до 15%, сравнение бизнес-моделей, бандлинг)
🤩User Engagement (локализация, советы по онбордингу, работа с обновлениями)
За последний год команда Apple потратила много сил на то, чтобы улучшить документацию в областях, не связанных непосредственно с написанием кода. Один из таких обновленных разделов – статьи про работу с App Store.
👀 Страница приложения и поисковая оптимизация (кастомные лендинги приложений, тестирование страниц, получение фичеринга)
💰Бизнес и аналитика (снижение комиссии до 15%, сравнение бизнес-моделей, бандлинг)
🤩User Engagement (локализация, советы по онбордингу, работа с обновлениями)
Тред иконок приложений, сгенерированных Midjourney
Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
Модификатор clipped() в SwiftUI не влияет на hit test
- clipped() прячет контент вьюшки, находящийся за пределами ее границ. Но невидимая часть вьюшки все равно продолжает принимать на себя все нажатия, а компоненты, находящиеся под ней, невозможно нажать.
- Чтобы это исправить, используйте дополнительно другой модификатор – contentShape(). Он определяет hit testing area для компонента.
Перевод на русский язык
- clipped() прячет контент вьюшки, находящийся за пределами ее границ. Но невидимая часть вьюшки все равно продолжает принимать на себя все нажатия, а компоненты, находящиеся под ней, невозможно нажать.
- Чтобы это исправить, используйте дополнительно другой модификатор – contentShape(). Он определяет hit testing area для компонента.
Перевод на русский язык
Статистика по использованию различных размеров Dynamic Size шрифта
David Smith поделился статистикой из своих приложений, которая должна быть +/- репрезентативна – у него миллионы пользователей. Ожидаемо, больше всего у L, но удивляет популярность размера XS.
David Smith поделился статистикой из своих приложений, которая должна быть +/- репрезентативна – у него миллионы пользователей. Ожидаемо, больше всего у L, но удивляет популярность размера XS.
Настройка окружений с помощью .xcconfig
Если в вашем проекте много значений, которые вы меняете в зависимости от окружения, например, локального, тестового и продакшн, можно значительно упростить работу с ними, положив их в .xcconfig, откуда затем использовать в Info.plist и в коде.
Перевод на русский язык
Если в вашем проекте много значений, которые вы меняете в зависимости от окружения, например, локального, тестового и продакшн, можно значительно упростить работу с ними, положив их в .xcconfig, откуда затем использовать в Info.plist и в коде.
Перевод на русский язык
Media is too big
VIEW IN TELEGRAM
Пример использования UIScreenshotServiceDelegate
UIScreenshotServiceDelegate – API, который позволяет переопределить поведение приложения при снятии скриншота. Подумайте о том, в каких сценариях пользователь скриншотит ваше приложение, и попробуйте подготовить контент так, чтобы им было удобнее пользоваться. Например, в MindNode таким образом можно легко экспортнуть майндмэп в PDF и пошарить его с кем-нибудь.
UIScreenshotServiceDelegate – API, который позволяет переопределить поведение приложения при снятии скриншота. Подумайте о том, в каких сценариях пользователь скриншотит ваше приложение, и попробуйте подготовить контент так, чтобы им было удобнее пользоваться. Например, в MindNode таким образом можно легко экспортнуть майндмэп в PDF и пошарить его с кем-нибудь.
CocoaHeads на Кипре
Друзья стартанули локальное кипрское ответвление CocoaHeads. Если вы вдруг оказались на острове, обязательно загляните к ним 15 декабря. В программе – доклад про some и any в Swift, нетворкинг и другая веселуха.
Друзья стартанули локальное кипрское ответвление CocoaHeads. Если вы вдруг оказались на острове, обязательно загляните к ним 15 декабря. В программе – доклад про some и any в Swift, нетворкинг и другая веселуха.
dataTile – визуальный логгер поверх os_log()
dataTile – новый инструмент, который помогает визуализировать большое количество логов в приложении. Работает только с симулятором. Пока находится в бесплатной бете.
💻Короткое демо-видео
👀Блогпост про запуск
🔗Ссылка на загрузку
Перевод на русский язык
dataTile – новый инструмент, который помогает визуализировать большое количество логов в приложении. Работает только с симулятором. Пока находится в бесплатной бете.
💻Короткое демо-видео
👀Блогпост про запуск
🔗Ссылка на загрузку
Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
Cilicon – инструмент для простого запуска виртуалок на macOS
- Работает поверх Virtualization Framework.
- Интегрирован с GitHub Actions.
- Работает поверх Virtualization Framework.
- Интегрирован с GitHub Actions.