iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.4K subscribers
654 photos
63 videos
3.95K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
Скрытие информации Lock Screen Widgets в заблокированном устройстве

- Пользователь может запретить всем 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 подготовили множество других форматов: дискуссии, дебаты, питчинг опенсорс-проектов, рэндом-кофе и индивидуальные консультации с экспертами. Скучно точно не будет.

Зарегистрироваться
Протокол Layout в SwiftUI: кэширование

- SwiftUI умеет автоматически кешировать часть расчетов кастомного лэйаута, но гораздо эффективнее разобраться с кэшированием самостоятельно.
- У протокола Layout есть две функции – makeCache и updateCache, которые позволяют управлять состоянием закешированных расчетов.
- Кэш можно обновлять в функциях sizeThatFits и placeSubviews.

Перевод на русский язык
Консультации с экспертами по работе с App Store

До 8 декабря Apple проводит консультации разработчиков со своими экспертами по различным аспектам работы с App Store: продвижению, оформлению страницы, работе с TestFlight. Формат – презентация по теме и Q&A после нее.
Подборка материалов от Apple про продвижение приложения в App Store

За последний год команда Apple потратила много сил на то, чтобы улучшить документацию в областях, не связанных непосредственно с написанием кода. Один из таких обновленных разделов – статьи про работу с App Store.

👀 Страница приложения и поисковая оптимизация (кастомные лендинги приложений, тестирование страниц, получение фичеринга)
💰Бизнес и аналитика (снижение комиссии до 15%, сравнение бизнес-моделей, бандлинг)
🤩User Engagement (локализация, советы по онбордингу, работа с обновлениями)
Тред иконок приложений, сгенерированных Midjourney

Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
Модификатор clipped() в SwiftUI не влияет на hit test

- clipped() прячет контент вьюшки, находящийся за пределами ее границ. Но невидимая часть вьюшки все равно продолжает принимать на себя все нажатия, а компоненты, находящиеся под ней, невозможно нажать.
- Чтобы это исправить, используйте дополнительно другой модификатор – contentShape(). Он определяет hit testing area для компонента.

Перевод на русский язык
Статистика по использованию различных размеров Dynamic Size шрифта

David Smith поделился статистикой из своих приложений, которая должна быть +/- репрезентативна – у него миллионы пользователей. Ожидаемо, больше всего у L, но удивляет популярность размера XS.
Настройка окружений с помощью .xcconfig

Если в вашем проекте много значений, которые вы меняете в зависимости от окружения, например, локального, тестового и продакшн, можно значительно упростить работу с ними, положив их в .xcconfig, откуда затем использовать в Info.plist и в коде.

Перевод на русский язык
Media is too big
VIEW IN TELEGRAM
Пример использования UIScreenshotServiceDelegate

UIScreenshotServiceDelegate – API, который позволяет переопределить поведение приложения при снятии скриншота. Подумайте о том, в каких сценариях пользователь скриншотит ваше приложение, и попробуйте подготовить контент так, чтобы им было удобнее пользоваться. Например, в MindNode таким образом можно легко экспортнуть майндмэп в PDF и пошарить его с кем-нибудь.
CocoaHeads на Кипре

Друзья стартанули локальное кипрское ответвление CocoaHeads. Если вы вдруг оказались на острове, обязательно загляните к ним 15 декабря. В программе – доклад про some и any в Swift, нетворкинг и другая веселуха.
dataTile – визуальный логгер поверх os_log()

dataTile – новый инструмент, который помогает визуализировать большое количество логов в приложении. Работает только с симулятором. Пока находится в бесплатной бете.

💻Короткое демо-видео
👀Блогпост про запуск
🔗Ссылка на загрузку

Перевод на русский язык
Послушали дискуссию мобильных разработчиков из Яндекса в формате ютуб-шоу 1+1.
Из особо интересного – размышления о фреймворках.

Например Flutter – хороший фреймворк, особенно, если вам нужно быстро и дешево получить несколько платформ сразу, в том числе и web. Но он не всегда корректно поддерживается iOS, а еще недружелюбен к вносимым изменениям. Можно согласиться с тем, что React Native все же более гибок в этом плане.

Еще в видео обсудили особенности работы над супераппами, mobile разработчикам рекомендуем посмотреть целиком.
This media is not supported in your browser
VIEW IN TELEGRAM
Декларативные анимации в 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.

Перевод на русский язык
Обзор всех изменений в прайсинге App Store

- Появилось 700 новых значений цен, которые можно использовать для ваших приложений. Минимальное значение – 0,29$, максимальное – 10000$.
- Между 0,29$ и 9,99$ шаг изменения цены – 0,1$.
- Между 0,49 и 49,99$ шаг изменения цены 0,5$.
- Цены можно округлять до .0$, .90$ и .95$.
- Цены в локальных магазинах теперь можно назначать вручную, а не привязывать к базовой долларовой цене.

Перевод на русский язык