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

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

Размещение рекламы: @tanyasanovna
Download Telegram
TCA Action Boundaries

При использовании архитектуры TCA в очень больших приложениях возникают проблемы, которые не решаются стандартными подходами. В статье разбирается какую проблему несет в себе стандартная реализация Action.
Релиз Pulse 2.0

Pulse – это система работы с логами для iOS и macOS приложений. Она записывает логи и сетевые запросы и позволяет удобно с ними работать. Состоит из встраиваемой в приложение библиотеки, экрана-консоли логов и сетевых запросов и приложений для анализа логов.

В версии 2.0 появилось много новых фичей:

- Отображение статуса pending сетевых запросов
- Улучшенное отображение метрик сетевых запросов, в том числе средней продолжительности и размеров запросов и ответов сервера
- Подробное отображение ошибок URLSession
- Улучшенное macOS приложение для анализа логов
DivKit — новый фреймворк для Server-Driven UI

- Позволяет управлять с сервера как отдельным элементом интерфейса, так и всем экраном
- Поддерживает server-driven ui второго поколения: описываются не параметры кастомизации крупных блоков, а вся верстка блока в целом
- Создан и применялся в приложениях Яндекса, сейчас опубликован командой на гитхабе.
Как отловить приложения, которые трекают ваши действия во встроенном браузере

На прошлой неделе Felix Krause выпустил исследование, в котором он проверил, какие скрипты инжектятся во встроенные браузеры разных социальных сетей. TikTok, например, трекает в нем все ваши действия, вплоть до вводимых данных, в том числе и паролей.

Он же запустил сайт InAppBrowser.com. При заходе на него вы увидите, каким образом браузер модифицировал код страницы.
Визуализация алгоритмов сортировки на Swift Charts

Автор видео реализует различные алгоритмы сортировки на Swift и визуализирует их на графиках из Swift Charts.

🫧Bubble Sort
☝️Selection Sort
📥 Insertion Sort
💨 Quick Sort
SwiftUI и Large Content Viewer

- В iOS доступны семь дефолтных размеров текста – от супер маленького до супер большого
- Некоторые системные компоненты физически не могут показывать текст слишком большого размера, и вместо этого по лонг тапу показывает увеличенную вьюшку. Эта функциональность называется Large Content Viewer
- В посте разбирается, как ее поддержать в своих кастомных компонентах и настроить Large Content Viewer для своего кейса
Осенняя презентация новых девайсов Apple

Apple анонсировали традиционный осенний ивент, на котором обычно показывают новые часы и айфоны. Подключайтесь к трансляции 7 сентября в 20 часов по Москве.
Советы по работе с WidgetKit

- Виджеты получают от приложений «таймлайны» – массивы моделек для отображения. Даже если вам не нужно отображать всю последовательность сразу, это полезная техника для обновления стейта вовремя
- Если вы предоставляете данные для отображения на несколько часов вперед, не забывайте обновить их вручную, если они перестанут быть актуальными
- Если виджет работает с данными, которые недоступны в залоченном состоянии телефона, настройте правильный кеш. Пример можно посмотреть здесь
Настройка кастомных Launch Screen для разных диплинков

Начиная с Xcode 12, можно конфигурировать отдельные launch screens для каждого из диплинков, которые обрабатывает приложение.
Разбор алгоритма diff’инга в SwiftUI

Очень детальный разбор всех нюансов работы алгоритма, который определяет, когда и как нужно изменить лейаут.
SwiftTUI – аналог SwiftUI для консольных интерфейсов

Автор предыдущей статьи не просто так разбирался с устройством SwiftUI. Он написал собственную реализацию его движка для того, чтобы легко строить поверх него текстовые интерйесы для консоли.
Решение проблемы повышенного потребления батареи у Xcode 14 beta

- Иногда при запуске симулятора iOS 16 в Xcode 14 beta резко вырастает нагрузка на CPU и потребление батареи
- В статье разбирается воркэраунд, который помогает временно решить проблему
Отличия Live Screen Widgets и Live Activities

В iOS 16 появилось сразу несколько новых способов взаимодействия с пользователем вне приложения. Держите сводную таблицу с их отличиями.
Переписывание парсера Swift с С++ на Swift

SwiftSyntax – SwiftPM пакет, который умеет парсить любой Swift код в синтаксическое дерево. Он используется в SwiftLint и swift-format. Исторически он был реализован поверх C++ библиотеки, которая привязана к инфраструктуре компилятора Swift. Сейчас стартанула активность по его переписыванию на Swift.

Вы можете либо почитать код, чтобы разобраться, как работают парсеры, либо помочь проекту, репортя баги или исправляя их самостоятельно!
XcLauncher – быстрый доступ к вашим Xcode проектам

XcLauncher – это живущее в трее приложение, которое помогает быстро открывать проекты, над которыми вы работаете.
Configuration Profiles и Apple MDM

- Configuration Profile – это XML файл, описывающий настройки, политики и ограничения, распространяющиеся на корпоративное устройство
- Для создания и подписывания этих профилей есть целый набор специальных инструментов
- MDM — это технология для удаленного управления устройством, позволяющая выполнять на нем команды с сервера
- MDM дает возможность удаленно устанавливать и удалять приложения, обновлять ОС, блокировать устройство
- MDM дает больше возможностей и на уровне клиентских приложений – например, можно получать данные сим-карты вплоть до номера телефона