Скрытие информации 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.
Послушали дискуссию мобильных разработчиков из Яндекса в формате ютуб-шоу 1+1.
Из особо интересного – размышления о фреймворках.
Например Flutter – хороший фреймворк, особенно, если вам нужно быстро и дешево получить несколько платформ сразу, в том числе и web. Но он не всегда корректно поддерживается iOS, а еще недружелюбен к вносимым изменениям. Можно согласиться с тем, что React Native все же более гибок в этом плане.
Еще в видео обсудили особенности работы над супераппами, mobile разработчикам рекомендуем посмотреть целиком.
Из особо интересного – размышления о фреймворках.
Например Flutter – хороший фреймворк, особенно, если вам нужно быстро и дешево получить несколько платформ сразу, в том числе и web. Но он не всегда корректно поддерживается iOS, а еще недружелюбен к вносимым изменениям. Можно согласиться с тем, что React Native все же более гибок в этом плане.
Еще в видео обсудили особенности работы над супераппами, mobile разработчикам рекомендуем посмотреть целиком.
YouTube
1х1: о мобильной разработке в Яндексе
1х1 — так в Яндексе называют регулярные рабочие встречи двух коллег.
Теперь «1х1» — ещё и регулярная рубрика на нашем канале. Двое сотрудников встречаются за столом, чтобы ответить на простые, каверзные, а главное — одинаковые вопросы. Героями «1х1» станут…
Теперь «1х1» — ещё и регулярная рубрика на нашем канале. Двое сотрудников встречаются за столом, чтобы ответить на простые, каверзные, а главное — одинаковые вопросы. Героями «1х1» станут…
This media is not supported in your browser
VIEW IN TELEGRAM
Декларативные анимации в AirBnb
- В AirBnb активно используют анимированные переходы между контроллерами. Стандартные императивные подходы для определения таких анимаций – сложные, хрупкие, требуют много бойлерплейта.
- Вместо этого, команда AirBnb перешла на декларативные анимации. При этом подходе надо определить начальный и конечный экраны, а затем описать поведение каждого из элементов при переходе. Все остальное работает само по себе.
- Сам фреймворк они не шарят, но подход и примеры расписали довольно подробно.
Перевод на русский язык
- В AirBnb активно используют анимированные переходы между контроллерами. Стандартные императивные подходы для определения таких анимаций – сложные, хрупкие, требуют много бойлерплейта.
- Вместо этого, команда AirBnb перешла на декларативные анимации. При этом подходе надо определить начальный и конечный экраны, а затем описать поведение каждого из элементов при переходе. Все остальное работает само по себе.
- Сам фреймворк они не шарят, но подход и примеры расписали довольно подробно.
Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Lottie 4.0
Раз мы начали день статьей от AirBnb, вот еще одна новость от их команды – новый релиз Lottie, движка для рендеринга анимаций из After Effect.
- Движок рендеринга полностью переписан на CoreAnimation, благодаря чему анимации переехали на GPU, перестали грузить CPU, и перфоманс значительно улучшился.
- Переписан декодер описаний анимаций, работа ускорилась в два раза.
- Помимо JSON, анимации можно определять в более кратком формате dotLottie.
Перевод на русский язык
Раз мы начали день статьей от AirBnb, вот еще одна новость от их команды – новый релиз Lottie, движка для рендеринга анимаций из After Effect.
- Движок рендеринга полностью переписан на CoreAnimation, благодаря чему анимации переехали на GPU, перестали грузить CPU, и перфоманс значительно улучшился.
- Переписан декодер описаний анимаций, работа ускорилась в два раза.
- Помимо JSON, анимации можно определять в более кратком формате dotLottie.
Перевод на русский язык
Обзор всех изменений в прайсинге App Store
- Появилось 700 новых значений цен, которые можно использовать для ваших приложений. Минимальное значение – 0,29$, максимальное – 10000$.
- Между 0,29$ и 9,99$ шаг изменения цены – 0,1$.
- Между 0,49 и 49,99$ шаг изменения цены 0,5$.
- Цены можно округлять до .0$, .90$ и .95$.
- Цены в локальных магазинах теперь можно назначать вручную, а не привязывать к базовой долларовой цене.
Перевод на русский язык
- Появилось 700 новых значений цен, которые можно использовать для ваших приложений. Минимальное значение – 0,29$, максимальное – 10000$.
- Между 0,29$ и 9,99$ шаг изменения цены – 0,1$.
- Между 0,49 и 49,99$ шаг изменения цены 0,5$.
- Цены можно округлять до .0$, .90$ и .95$.
- Цены в локальных магазинах теперь можно назначать вручную, а не привязывать к базовой долларовой цене.
Перевод на русский язык