Обновить
44.25

iOS *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели2.2K

Всем привет! На связи Владимир Бойко и Александр Лахонин, мы занимаемся продуктом «Умная камера» в Центре технологий искусственного интеллекта Т-Банка.

В статье рассказываем, как в суперсжатые сроки реализовали распознавание номеров телефонов on-device на iOS. Результаты работы мы представили 40 тысячам гостей на стенде Т-Банка нашего продукта на ИТ-Пикнике 2024 — ежегодном фестивале для айтишников. 

Мы расскажем о технических достижениях и вызовах, с которыми столкнулись, поделимся решениями, которые разработали специально для мероприятия, а еще теми, что уже встроены в наши приложения и успешно используются

Читать далее

Мобильная разработка за неделю #571 (13 — 19 января)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели767
В новом дайджесте обсуждаем костыли поддержки iOS 15 на SwiftUI и корутины Kotlin, приложения на Go и шаблон на все случаи жизни, 30 уроков от 30 лучших продуктовых лидеров, мест Snap в виде исчезающих фотографий в iMessage, переделку одного устройства и многое другое. Подключайтесь!

Читать дальше →

Кодогенерация: кому нужна и как настроить

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.7K

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

Читать далее

Альтернатива Firebase Dynamic Links на KMP

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели893

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

Читать далее

Костыли, костыли и ещё раз костыли. Или поддержка ios15 на SwiftUI

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.5K

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

Читать далее

Мобильная разработка за неделю #570 (6 — 12 января)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели904
В этой подборке уменьшаем написание boilerplate и удаляем десятки тысяч строк кода, чистим проекты правильно и наблюдаем за закатом Stack Overflow, оцениваем рынок мобильных приложений в России в 2024 году, отслеживаем перформанс-метрики и многое другое. Подключайтесь!

Читать дальше →

Flutter звонки на ios

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.3K

ОООООО, кто проживает на дне стабильности приема пушей для инициализации звонка?

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

Читать далее

Surf-итоги кода: Flutter, Android и iOS в 2024-м

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1.7K

Да-да, мы назвали статью «Итоги кода» — и кто нам что-то скажет.

На самом деле, нам захотелось вспомнить, что важного и интересного произошло в уходящем году. Зачем? Чтобы понять, как это повлияет на год предстоящий.

Располагайтесь удобнее, возьмите чашечку любимого горячего напитка и погрузитесь в итоговую идиллию новостей и результатов от Flutter, Android и iOS-команд Surf.

Читать дальше

SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели1.6K

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

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

Читать далее

Управление Xcode симулятором из симулятора

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели1.8K

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

Всё началось как обычно, а что если ...

Читать далее

Секретная акция, или Как выйти за пределы UICollectionView

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели2.2K

На собеседованиях iOS-разработчиков часто спрашивают о сложных лейаутах коллекций. Мы решили использовать их для геймификации программы лояльности в нашем приложении.

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

Читать далее

Мобильная разработка за неделю #569 (16 — 22 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.1K
В новом дайджесте добавляем Image Playground в приложение и разбираемся с Android 15, делаtv свой DI за 10 минут и заставляем крутиться таймер, раскрываем внутреннюю архитектуру Flutter, проектируем мобильное приложение маркетплейса, оцениваем годовые доходы App Store и Google Play и многое другое. Подключайтесь!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.

Читать дальше →

iOS-разработчики игнорируют важную системную фичу, и это ломает их приложения

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели1.6K

Как минимум одна из фич iOS реализована действительно хорошо — это системное резервное копирование, и всё, что связано с автоматическим переносом данных при переезде с одного iPhone на другой.

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

И тут возникает закономерный вопрос — почему так получается, что с этим делать?

Читать полностью

Ближайшие события

Как заставить крутиться таймер –  инструкция для iOS-разработчиков

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели1K

Привет, Хабр! На связи Андрей –  iOS разработчик из ecom.tech. Моя команда помогает различным маркетплейсам делать крутые вещи для их приложений. 

В этой статье я поделюсь своим опытом работы с обратным отсчётом времени (на примере Мегамаркета) и расскажу, как поставить таймер самостоятельно. 

Кажется, что таймер – простая для реализации вещь. Но если добавить сюда сжатые сроки, код (рефакторинг которого часто откладывается по разным причинам), пласты бизнес-логики и UI-элементы – получим нетривиальную задачу. 

Читать далее

У тимлида нет цели, но есть путь. Или как стать настоящим самураем и не сделать сеппуку

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели6.6K

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

Читать далее

Сломать колесо хомяка в поисках личной силы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели1.2K

Два года назад у меня выпал случай позаниматься с «наставником для экспертов». Это стоило 40к за 12 сессий. Я согласился, всегда хотелось, чтобы кто‑то поковырялся во мне и распутал внутренний хаос. Чтобы я стал красивым механизмом с понятным взглядом на мир, принимал осознанные решения, имел стержень.

«Колесо хомяка» — это метафора. Бесконечный круговорот рутинной деятельности, из которого трудно вырваться. Хомяки бегают в колесе, не продвигаясь никуда. То же самое происходит с человеком, он много работает или действует, но не достигает значимого прогресса.

«Личная сила — это чувство. Что‑то вроде ощущения удачи или счастья. Можно назвать ее настроением. Воин — это охотник за силой.» — так описывает это понятие Кастанеда в своих рассказах.

Что мы делали? В основном просто разбирали сложные желания. Разбивали их на цели и конкретные действия. Ставили сроки и обсуждали результаты. Первым задание состояло в том, чтобы в течение недели выписать все свои желания не думая о том, как их исполнять. Крутится в голове «купить остров», значит надо записать. Затем нужно было поставить цели. И это самый сложный этап. Причем для простых желаний поставить цели гораздо сложнее, чем для тех, что из разряда грез.

Читать далее

Мобильная разработка за неделю #568 (9 — 15 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.1K
В этом выпуске Swift и SwiftUI в iOS 18 и собственная система мониторинга фильтра воды, очередные похороны Flutter и суровые истины о программировании с помощью ИИ, дейтинг в России 2024, открытые русскоязычные опенсорс-модели и многое другое. Подключайтесь!

Читать дальше →

Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4K

Про «смерть» Flutter говорят каждый год, иногда по нескольку раз. Сейчас разговоры об этом получили новый виток — во многом после сокращений в Google и появления форка Flock, который якобы заменит основную ветку.

Разбираем страхи, связанные с фреймворком, и отвечаем на основные вопросы по Flutter и Flock с экспертами. За помощь в написании статьи спасибо ведущим Flutter-инженерам Евгению Сатурову, Михаилу «Fox» Матюнину, Сергею Кольцову и Евгению Коту.

Читать далее

Как собрать и внедрить высоконагруженный модуль. Опыт Звука

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели1.5K

Привет, Хабр! На связи Ринат Кутуев, iOS-разработчик в платформенной команде HiFi-стриминга Звук. В iOS-разработке уже 5 лет. Успел заложить архитектуру для 3 высоконагруженных приложений, которые стабильно расширяют свой функционал.

Сегодня я поделюсь своим опытом построения сложного модуля на примере сетевого слоя и расскажу, какими инструментами и подходами мы пользовались в процессе работы.

Читать далее

Мобильная разработка за неделю #567 (2 — 8 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели869
В новом дайджесте уменьшение размера банковского приложения и транзишинометр для Android, вопперы и табы, сертификаты и профили, сколько приложений, из выпущенных в 2024 году, стали успешными, вранье LLM и многое другое. Подключайтесь!

Читать дальше →