TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #4027 381
Кастомная галерея на iOS: от лага на 60 000 фото до lazy-загрузки и Combine

Если вы когда-нибудь разрабатывали мессенджер, то наверняка сталкивались с задачей выбора фотографий и видео для отправки. На первый взгляд кажется, что Apple предоставляет всё необходимое: UIImagePickerController, PHPickerViewController. Но стоит только копнуть чуть глубже, и оказывается, что стандартные компоненты не покрывают и половины того, что нужно в реальном продукте.

В этой статье я расскажу, как мы шаг за шагом построили кастомный пикер галереи для iOS-мессенджера. Пройдём путь от наивной реализации, которая зависала при открытии на устройствах с 60 000+ фотографий, до production-ready решения с lazy-загрузкой, отслеживанием прогресса скачивания из iCloud через Combine и встроенным превью камеры.

Статья: https://habr.com/ru/articles/1005060/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • 🔥 2
More from @applib
  1. Oct 13, 2026Куда делись все вакансии для Android-разработчиков? Я всё думаю о том, насколько иначе рын…
  2. Oct 13, 2026Мы научили агента писать тесты так, как их пишет наша команда Каждому iOS-разработчику зна…
  3. Oct 13, 2026Pixelate - размытие контента в Compose Pixelates преобразует контент Compose Multiplatform…
  4. Oct 12, 2026Swift AI Agent Demo - интеллектуальное рассуждение ИИ-агента Swift AI Agent Demo — это нат…
  5. Oct 9, 2026Как использование нейросетей изменило игровую индустрию и homebrew-cцену Игровая индустрия…
  6. Oct 9, 2026📺 Видео и подкасты за неделю • (iOS En) Pinterest Context Menu Using SwiftUI • (iOS En) C…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →