Мобильная разработка за неделю #572 (20 — 26 января)


Мобильная ОС компании Apple


Пошаговое руководство по использованию OAuth 2.0 при доступе к защищенным API из iOS‑приложения на Swift с Auth0.

Сегодня с вами Никита, iOS Team Lead в Surf. Никита объяснит, почему мы в Surf решили создать собственную архитектуру для разработки на SwiftUI.

Всем привет! На связи Владимир Бойко и Александр Лахонин, мы занимаемся продуктом «Умная камера» в Центре технологий искусственного интеллекта Т-Банка.
В статье рассказываем, как в суперсжатые сроки реализовали распознавание номеров телефонов on-device на iOS. Результаты работы мы представили 40 тысячам гостей на стенде Т-Банка нашего продукта на ИТ-Пикнике 2024 — ежегодном фестивале для айтишников.
Мы расскажем о технических достижениях и вызовах, с которыми столкнулись, поделимся решениями, которые разработали специально для мероприятия, а еще теми, что уже встроены в наши приложения и успешно используются

Привет! Меня зовут Денис Попов, и я iOS-разработчик в QIC digital hub. В этой статье я расскажу о кодогенерации в мобильной разработке: кто действительно нуждается в ней, как она применяется на практике и какую ценность можно извлечь из этого процесса.

В этой статье я коротко расскажу как реализовал функционал Firebase Dynamic Links своими силами в KMP.

Итак, есть задача: переделать экран авторизации на новый дизайн. И заодно на SwiftUI. Одна загвоздка — проект пока ещё поддерживает ios15, из‑за этого многие фичи SwiftUI недоступны.


ОООООО, кто проживает на дне стабильности приема пушей для инициализации звонка?
Ну из названия стало понятно, что со звонками на ios не все так просто, и далее расскажу почему. Но для начала чутка справки callkit — это интерфейс телефона, когда поступает звонок, неважно откуда, мобильная связь, телеграмм, viber — если ты старообрядец.

Да-да, мы назвали статью «Итоги кода» — и кто нам что-то скажет.
На самом деле, нам захотелось вспомнить, что важного и интересного произошло в уходящем году. Зачем? Чтобы понять, как это повлияет на год предстоящий.
Располагайтесь удобнее, возьмите чашечку любимого горячего напитка и погрузитесь в итоговую идиллию новостей и результатов от Flutter, Android и iOS-команд Surf.

На WWDC 2023 компания Apple представила модификатор представления containerRelativeFrame для SwiftUI. Этот модификатор упрощает некоторые операции размещения элементов на экране, которые ранее было сложно выполнить обычными методами.
В этой статье мы подробно рассмотрим модификатор containerRelativeFrame, его определение, правила компоновки, примеры использования и важные соображения. Чтобы еще больше расширить наше понимание его функциональных возможностей, в конце статьи мы также создадим обратно совместимую реплику containerRelativeFrame для старых версий SwiftUI.

Статья написана в исследовательских целях без практического (почти) применения. Но результат получился, на мой взгляд, интересным, поэтому решил поделиться с сообществом, возможно кому-то будет интересно.
Всё началось как обычно, а что если ...

На собеседованиях iOS-разработчиков часто спрашивают о сложных лейаутах коллекций. Мы решили использовать их для геймификации программы лояльности в нашем приложении.
А это возможно? Сначала казалось, что нет. Но мы это сделали. Нарисовали, анимировали и спрятали за пределы экрана ячейку с секретной акцией, у которой даже отрывается корешок! И всё с помощью UICollectionView. О том, как у нас это получилось, я сегодня и расскажу.


Как минимум одна из фич iOS реализована действительно хорошо — это системное резервное копирование, и всё, что связано с автоматическим переносом данных при переезде с одного iPhone на другой.
Однако в случае с некоторыми iOS-приложениями старания Apple внезапно разбиваются о небрежность их разработчиков. Именно с этим я недавно столкнулся, выполнив перенос данных со своего старого iPhone на новый, и много где результаты оказались довольно печальными. Полностью упоролось, например, приложение Тинькофф Банка.
И тут возникает закономерный вопрос — почему так получается, что с этим делать?

Привет, Хабр! На связи Андрей – iOS разработчик из ecom.tech. Моя команда помогает различным маркетплейсам делать крутые вещи для их приложений.
В этой статье я поделюсь своим опытом работы с обратным отсчётом времени (на примере Мегамаркета) и расскажу, как поставить таймер самостоятельно.
Кажется, что таймер – простая для реализации вещь. Но если добавить сюда сжатые сроки, код (рефакторинг которого часто откладывается по разным причинам), пласты бизнес-логики и UI-элементы – получим нетривиальную задачу.

Понимание роли тимлида варьируется от компании к компании. Для одних это старший разработчик, для других — полноценный руководитель команды, а в некоторых случаях — просто посредник между командой и менеджментом. Давайте разберёмся, кто такой тимлид, какова его роль и как идти этим путём и не окончить самурайский путь преждевременно.

Два года назад у меня выпал случай позаниматься с «наставником для экспертов». Это стоило 40к за 12 сессий. Я согласился, всегда хотелось, чтобы кто‑то поковырялся во мне и распутал внутренний хаос. Чтобы я стал красивым механизмом с понятным взглядом на мир, принимал осознанные решения, имел стержень.
«Колесо хомяка» — это метафора. Бесконечный круговорот рутинной деятельности, из которого трудно вырваться. Хомяки бегают в колесе, не продвигаясь никуда. То же самое происходит с человеком, он много работает или действует, но не достигает значимого прогресса.
«Личная сила — это чувство. Что‑то вроде ощущения удачи или счастья. Можно назвать ее настроением. Воин — это охотник за силой.» — так описывает это понятие Кастанеда в своих рассказах.
Что мы делали? В основном просто разбирали сложные желания. Разбивали их на цели и конкретные действия. Ставили сроки и обсуждали результаты. Первым задание состояло в том, чтобы в течение недели выписать все свои желания не думая о том, как их исполнять. Крутится в голове «купить остров», значит надо записать. Затем нужно было поставить цели. И это самый сложный этап. Причем для простых желаний поставить цели гораздо сложнее, чем для тех, что из разряда грез.
