Как стать автором
Поиск
Написать публикацию
Обновить
43.86

iOS *

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

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

Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк

Время на прочтение10 мин
Количество просмотров7.9K


Привет, Хабр! Меня зовут Георгий, я руководитель команды Ozon Банк iOS. Я занимаюсь разработкой и развитием мобильного направления финансовых продуктов Ozon.

Сегодня хочу поделиться опытом нашей команды по запуску мобильного приложения на WebView.  

Часто разработчики используют только встроенный API взаимодействия JavaScript c нативными кодом, например Web API, но нам этого оказалось мало, и мы расширили спектр возможностей подхода web-native. Внутри статьи я расскажу, какой подход выбрал, как к этому пришёл и как обошёл возникшие проблемы. Подчеркну плюсы и минусы использования своего решения и в конце предложу несколько идей дальнейшего развития выбранного пути.

Читать далее

Пишем виджет в Control Center (iOS 18)

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

На WWDC 2024 Apple представила — виджеты в Control Center для iOS 18. Это новшество позволяет разработчикам добавлять собственные виджеты в новое место в приложении: Control Center, Home Screen. Но можем ли мы делать кастомную вёрстку в новых виджетах? Или подтянуть данные из сети?

В этой статье разберёмся с новыми виджетами, ответим на вопросы выше. А в завершении статьи вы найдёте сниппеты кода, чтобы быстро добавить виджеты в свой проект.

Читать далее

Изучаем новые структуры данных для iOS разработчика

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

Мобильные разработчики редко сталкиваются в работе со сложными структурами данных. Как правило, в рутинных задачах вполне достаточно уметь использовать  ArrayDictionary и Set. Но сегодня не об этом. Хороших статей о том, как устроены эти структуры данных, предостаточно.

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

Читать далее

Мобильная разработка за неделю #545 (1 — 7 июля)

Время на прочтение4 мин
Количество просмотров1.4K
В новом дайджесте макросы и типизированные ошибки, форматирование кода и Unit-тесты, «железо» для Android Studio, переход на docs as code, возвращение Myspace для Поколения Z, AirPods с камерами и многое другое. Подключайтесь!

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

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

Принципы SOLID на примере iOS-разработки

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.8K

Привет, меня зовут Антон, я iOS-разработчик в компании Surf. Все программисты хотят писать красивый, масштабируемый и сопровождаемый код, и мобильщики – не исключение. Как в этом помогут принципы SOLID, и зачем они нужны?

Расскажем и покажем на примерах (куда без этого). Кейсы в статье относятся к iOS-разработке, но они будут полезны для всех разработчиков, независимо от стека.

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

Адаптируем VoiceOver для людей

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

Меня зовут Женя Тютюев, я iOS-разработчик в компании 2ГИС. Хочу поделиться, как адаптировал наше приложение под VoiceOver: 

— Делюсь историей про сдвиг парадигмы и как перешёл из стадии «делать, потому что Эпл советует» в совершенно новую — «делать для людей». 

— Как разработал новый вид snapshot-тестирования, чтобы ничего не ломалось при добавлении новых неадаптированных элементов. 

— И описал несколько нюансов, которые важно учесть в работе: escape, динамический расчёт доступности, укрупнение элементов.

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

Читать далее

Получение D-U-N-S номера для мобильных разработчиков

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

В конце 2023 года мы столкнулись с проблемой того, что Google Play стал требовать DUNS номер для регистрации новых аккаунтов, а также для подтверждения уже существующих. Данное сообщение могли увидеть все Android разработчики. Также данный номер необходим для регистрации и аккаунтов в AppStore.

Читать далее

Vivaldi 6.8 для iOS — Контроль неактивных вкладок и новые опции персонализации

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

Мы следуем трём критериям браузера -  мощный, персональный, приватный. В новой версии Vivaldi 6.8 для iOS представлены новые мощные функции и возможности, которые позволят вам сделать ваш браузер ещё более персонализированным. Вот основные улучшения Vivaldi 6.8 для iOS:

Читать далее

Макросы в swift — напишут код за вас, но есть нюанс…

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров12K

Привет! Меня зовут Настя Ищенко, я — iOS-разработчик в KTS.

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

Читать далее

Мобильная разработка за неделю #544 (24 — 30 июня)

Время на прочтение4 мин
Количество просмотров1.9K
В нашей новой еженедельной подборке поиск применения App Clip и небезопасности Синглтона, Инструменты Android-разработчика и победа над техдолгом в RuStore, архитектура кроссплатформенного многомодульного приложения, миллионы за считыватели QR-кодов, как мог бы выглядеть Windows Phone в 2024 и многое другое. Подключайтесь!

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

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

Алиса ПРО — для мобильного разработчика

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.3K

Всем привет! Меня зовут Сергей, моё основное направление — мобильные приложения, но помимо этого я пристально наблюдаю за тем, что происходит с ИИ.

Давайте попробуем использовать YaGPT в повседневной работе мобильного разработчика

Читать далее

Защита iOS-приложений от реверс-инженеринга

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

Реверс-инженеринг приложений — серьезная угроза для разработчиков iOS. Он может привести к утечке интеллектуальной собственности, подделке приложений, созданию вредоносного программного обеспечения и другим проблемам. В этой статье мы обсудим методы и практики, которые помогут защитить ваше приложение от реверс-инженеринга.

Читать далее

Архитектура кроссплатформенного многомодульного приложения

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров9.8K

Хочу поделиться своим опытом создания кроссплатформенного приложения на базе kotlin-multiplatform (KMP), организации его архитектуры, настройки для работы с различными библиотеками и особенностями его работы. Статья подойдет в первую очередь разработчикам, которые уже имеют опыт с многомодульными проектами в android и начинают изучать KMP. В конце я опишу свою реализацию архитектурного паттерна MVI и его применение в проекте.

Читать далее

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

Как мы искали применение App Clip… и нашли?

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.8K

Мы в Додо часто заигрываем с новыми технологиями и делаем прикольные фичи. Вы, наверняка, уже использовали Live Activities для отслеживания своего заказа и слышали про AI-пиццу, а может быть и пробовали её.

Недавно у нас дошли руки до App Clips. Мы решили разобраться, могут ли они быть нам полезны, сделали своё мини-приложение и запустили его на проде.

В этой статье расскажу, как мы придумывали фичу, с какими проблемами столкнулись при разработке и поделюсь аналитикой после запуска.

Читать далее

Мобильная разработка за неделю #543 (17 — 23 июня)

Время на прочтение4 мин
Количество просмотров2.5K
В новом дайджесте деплоим свои приложения из XCode на старые iPhone и изучаем Swift Testing, исследуем приложение Zomato, чтобы создать свою собственную систему уведомлений, и добавляем Flutter в приложение, выкладываем приложение в Apple Store и Google Play, разбираемся в хороших сессиях и многое другое. Подключайтесь!

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

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

Мобильная разработка за неделю #543 (17 — 23 июня)

Время на прочтение4 мин
Количество просмотров497
В новом дайджесте деплоим свои приложения из XCode на старые iPhone и изучаем Swift Testing, исследуем приложение Zomato, чтобы создать свою собственную систему уведомлений, и добавляем Flutter в приложение, выкладываем приложение в Apple Store и Google Play, разбираемся в хороших сессиях и многое другое. Подключайтесь!

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

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

Swift 5.10

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.3K

Это минорное обновление языка перед мажорным переходом на Swift 6, которое сосредоточено в основном на устранение проблем с data race при компиляции.

Читать далее

Введение в тестирование на Swift Testing

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров6.9K

XCTest является основным инструментом для тестирования в Swift и широко используется разработчиками. Однако, новая библиотека Testing предлагает дополнительные возможности и синтаксический сахар, который делает процесс тестирования еще более удобным и мощным. В данной статье мы рассмотрим основные аспекты тестирования на Swift, включая использование библиотеки Testing.

Читать далее

Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.6K
image

Согласно политике Apple, компания чётко разграничивает время жизни тех или иных версий iOS. Обычно, уже через 3-4 года определенная версия iOS считается устаревшей и публиковать новые версии приложений с её поддержкой больше нельзя. Однако в ходу всё ещё «старые», но по настоящему трушные и любимые многими «пятёрки», «четвёрки», а среди коллекционеров — и «тройки»! Способ, о котором я расскажу в статье, раскопали ещё «олды», однако он позволяет запускать и отлаживать «хоумбрю» приложения на старых айфонах, потенциально принося им новую жизнь с кастомными приложениями! Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Некорректная валидация UI при работе с файловой системой: что может пойти не так и как это починить

Время на прочтение3 мин
Количество просмотров1.2K

Привет, Хабр. Меня зовут Александр Пиманов, я ведущий iOS-разработчик в МТС Диджитал. Сегодня расскажу о простой (как мне сначала показалось) задаче — нужно было свалидировать UI в зависимости от того, есть в файловой системе файл с логами или нет. Я быстро с ней справился, но тут возникла проблема: на моем устройстве валидация работала, а на некоторых чужих — нет. Чтобы понять причину, я перепробовал, кажется, все. Как мне удалось найти проблему и как мы ее решали, рассказываю в статье.

Читать далее