
Мы добавили абсолютно новый функционал! Он позволяет разбивать учебный год на периоды и задавать для каждого периода каникулы, и не только.
Мобильная ОС компании Apple
Мы добавили абсолютно новый функционал! Он позволяет разбивать учебный год на периоды и задавать для каждого периода каникулы, и не только.
На протяжении многих лет традиционным подходом было включение библиотек Alamofire (AFNetworking) в состав iOS приложения для осуществления RESTful запросов к бэкенду. И если в первой половине минувшего десятилетия это объяснялось использованием промышленных стандартов (а, фактически, никто не хотел заморачиваться с наборок сырых поделок, которые предоставила компания Apple из коробки), то в начале нынешнего десятилетия нет никаких аргументированных причин, чтоб ограничивать себя возможностями этой популярной библиотеки. </cut>
А ограничения, во истину, колоссальные – с точки зрения RESTful – его работа – тривиальная и предсказуемая, но вот методы использования, обусловленные Clean архитектурой Боба Мартина – вызывают дикую головную боль почти к любого разработчика, который приходит на проект. Благие намерения отделить роутинг от сериализации / десериализации приводят к невероятному разрастанию классов и зависимостей слоев, не смотря на то, что изначально, Clean архитектура декларировала то, что она предназначена для того, чтоб избегать таких зависимостей. Однажды пришлось столкнуться с ситуацией - для того чтоб добавить Post запрос необходимо было внести изменение в 11 фалов проекта!
Apple тоже заметили эту порочную тенденцию, и вместе с реализацией асинхронности через await преложила свой подход с использованием комбаина. Вот только не учла ригидности человеческой психики – те кто раньше создавали десяток слоев для выполнения сетевых запросов, сейчас сократили их до 3-4, но создали при этом синглтонный менеджер, длинной на несколько десятков тысяч строк кода.
Два года назад я написал пост, посвященный созданию кастомного bottom sheet в SwiftUI. Сегодня же необходимости писать его вручную с нуля больше нет, по крайней мере, если вам не нужно какое-нибудь супер-уникальное поведение. SwiftUI теперь предоставляет новый API для отображения bottom sheet всего в несколько строк кода. В этом посте мы рассмотрим новый API, позволяющий нам отображать различные вариации bottom sheet.
Новый API SwiftUI для отображения bottom sheet достаточно прост в использовании. Все, что нам нужно сделать, это прикрепить модификатор представления presentationDetents
к содержимому модификатора представления sheet.
Салют, меня зовут Макс Нечаев, я занимаюсь продуктовой разработкой (iOS Developer). Эта небольшая статья расскажет вам, как подключить Apple Sign In (авторизация через Apple) в ваше iOS приложение. Плюс расскажу некоторые edge кейсы технологии.
Конференция по мобильной разработке Mobius в этот раз пройдёт в хитром формате. Два дня будут полностью онлайновыми, а в отдельный третий день можно будет хоть лично прийти на мероприятие в Москве, хоть поучаствовать удалённо.
А вот общая идея конференции остаётся прежней: здесь будут доклады и по Android-разработке, и по iOS, и «универсальные». В этом хабрапосте пометили всё значками ?, ? и ♾️ соответственно.
Какие именно будут доклады в этот раз? Собрали в этом хабрапосте описания всех и разделили на тематические блоки, чтобы удобнее было разобраться.
В течение последних лет внимание компаний переключилось с сайтов на мобильные приложения — комфортные в использовании, кастомизированные технологии. Однако разнообразие доступов к онлайн-услугам не бывает лишним, и тем более это актуально для банковских сервисов.
Рассказываем о ключевых решениях, которые позволили доработать интернет-банк «ВТБ Онлайн», по сути объединив преимущества сайта и мобильного приложения: сервис не занимает память на устройстве и не требует обновления, но при этом удобен и понятен для наших пользователей.
В этой статье поделюсь тем, как настроить трекинг событий о получении и об открытии нотификаций на iOS устройствах. Рассматривается вариант, когда приложение уже интегрировано с Firebase Cloud Messaging для получения FCM токенов и отправки нотификаций через собственный сервер, а для трекинга событий подключен сервис Amplitude. Даже если в вашем приложении используется другой набор сервисов для работы с нотификациями и аналитикой, решения, описанные здесь, могут подойти.
Задача заключается в том, чтобы затрекать два события аналитики: событие получения нотификации (нотификация пришла на устройство пользователя, но пользователь еще не нажимал на нее) и событие открытия приложения по клику на нотификацию.
С каждый днем все больше разработчиков IOS стремятся свои новые проекты начинать с использованием SwiftUI. И здесь перед ними возникает проблемы в виде реализации устоявшихся представлений о навигации в iOS. Предлагаемые решения от Apple работают весьма часто довольно криво. Это понимают и в самой Apple. По мере развития SwiftUI основной компонент навигации NavigationView был заменен на NavigationStack. И это не просто переименование. Те кто уже использовал NavigationView не готовы от него отказаться, так как его реализация лежала через боль и слезы. Те же кто только входит в мир SUI либо наталкиваются на рекомендации создавать кастомную навигацию, либо смотрят на статьи как разруливать проблемы NavigationView. Новая альтернатива не всем пришлась по-душе, так как на WWDC не продемонстрировали его с лучшей стороны. А она есть. И это хорошая новость! Apple, наконец, освоила паттерн Navigator, которым конкуренты пользовались более 10 лет!
Привет! На связи tech-команда СберМаркета. 13 октября мы провели онлайн-митап для iOS и Android-разработчиков. Хотим поделиться с аудиторией Хабра видео с докладами оттуда. Рассказываем о нашем опыте внедрения SwiftUI и делимся кейсами на ReactNative.
Документация Apple рассказывает, как начать работу с Dynamic Island, динамическим островом. Система была представлена Apple в сентябре 2022 года, на данный момент она есть только в моделях iPhone 14 Pro и iPhone 14 Pro Max. С Dynamic Island можно анимированно показывать информацию вокруг области выреза фронтальной камеры iPhone, которую мы привыкли называть «чёлкой».
В этой статье мы рассмотрим пример базовой работы с размещением контента в Dynamic Island для его разных состояний.
Для сборки проекта нужно запустить Xcode версии не ниже 14.1 Beta.
Этот пример основан на документации Apple. Ещё вы увидите работу с данными, которые отправляются в Activity в Dynamic Island.
Всем привет! Я хочу поделится своим опытом реализации кастомных переходов между экранами в iOS. Несмотря на то, что тема эта достаточно популярная, и очень многие дизайнеры хотят привнести в процесс перехода какую-то свою изюминку (затемнение, параллакс и т. п.), реализация этих вещей не очень тривиальна. Я попробую разложить все по полочкам. Рассмотрим сначала стандартное решение, которое не особо гибкое, но зачастую достаточное для многих проектов. Затем реализуем полностью кастомное и контролируемое исключительно нами решение.
Мобильная разработка — одно из актуальных направлений в IT-сфере. Мир вокруг нас стремительно меняется, но, несмотря на это, люди по-прежнему решают множество своих задач с помощью телефонов. Такси, шопинг, обучение — всё это доступно в виде мобильных приложений. А за создание этих приложений отвечают мобильные разработчики.
Летом в Яндекс Практикуме стартовало два курса по мобильной разработке: «Android-разработчик» и «iOS-разработчик». О том, что особенного в каждой программе, мы поговорили с командой Практикума, которая их создавала.
Всем привет, меня зовут Валерия Рублевская и я iOS-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это третья часть рассказа о фиче Autoplay и сегодня мы поговорим о нюансах ее реализации на tvOS.
Хотите подробностей? Добро пожаловать под кат!
Зашёл я (@Lavs) в «Спортмастер», чтобы купить себе футбольный мяч. В этом деле мне помогла сотрудница Ксения: задала пару вопросов, отвлеклась на смартфон и через минуту протянула подходящий мячик.
Я знал, что на экране у Ксении был не мессенджер с подружками, а внутренние приложения магазина. Дело в том, что в «Спортмастер» я пришёл не только за мячиком. Хабр отправил меня с редакционным заданием: разобраться, как устроена технологическая начинка магазина.
Ребята из SM Lab (IT-компания «Спортмастера») сейчас ищут Android- и iOS-разработчиков. Под катом речь пойдёт о том, чем занимаются команды мобильной разработки: а они ни много ни мало обеспечивают работу всех 533 розничных «Спортмастеров».
В какой-то момент разработки вашего приложения вы получаете обратную связь от пользователей: при нажатии на кнопку, например, «Выбрать адрес», ваше приложение сначала на пару секунд подвисает, а уже только потом показывает экран со списком адресов. Специально никто медленный код не писал, но он откуда-то где-то возник.
Сегодня расскажу, как Apple предлагает решать эту проблему с помощью логов.