Как стать автором
Обновить
55.57

Разработка под iOS *

Популярная мобильная ОС

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

Jailbreak checker — как обезопасить свое iOS-приложение

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2K
Туториал

Привет! Меня зовут Тоня, я продуктовый разработчик в продукте QIWI Кошелек. Недавно мы делали задачу по предотвращению рисков в связи с использованием приложения с Jailbreak. Хочу рассказать о трудностях, с которыми столкнулись на пути, и о том, как мы их разрешили.

Кто такой этот ваш Jailbreak?

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

Дословно jailbreak переводится как «побег из тюрьмы» или «взлом». Данный термин, как правило, используется в отношении iOS. Простыми словами — это использование уязвимостей устройства для получения полного доступа к операционной системе. Из-за такого полного доступа к системе появляется и доступ до keychain, который становится уже не таким защищенным. После взлома у пользователя появляется доступ к альтернативным сторам, из которых можно скачать приложения, не проходившие ревью в App Store. Одним из самых популярных таких альтернативных сторов является Cydia, который чаще всего сразу же устанавливается в момент взлома устройства. 

Зачем его отслеживать?

Читать далее
Всего голосов 18: ↑15 и ↓3 +12
Комментарии 28

Новости

Руководство по Использованию Многопоточности в Swift

Время на прочтение 3 мин
Количество просмотров 595
Туториал

Многопоточность в Swift играет критически важную роль в создании отзывчивых и эффективных приложений. В этой статье мы рассмотрим, когда и как использовать новые возможности многопоточности в Swift, включая async/await, Task и структурированную многопоточность.

Читать далее
Рейтинг 0
Комментарии 2

ASO.dev — как я снова продукт для Apple делал

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

У каждого свой жизненный путь и выбор продуктов, у меня видимо какой-то фетиш делать продукты для Apple и их API... Вот уже 4-ый год как я делаю плеер для Apple Music, а 20 ноября 2022 года вместе с женой придумали и начали делать ASO.dev.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Перф-тесты VS аномалии. Вечная битва за производительность приложений на iOS

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

Чем больше задач выполняет приложение, тем тщательнее нужно следить за его производительностью. Под катом на примере Яндекс Браузера и приложения Яндекс с Алисой подробно расскажу о том, как мы отслеживаем аномалии метрик производительности на стороне клиента с помощью перф‑тестов: основные принципы универсальны, и вы легко сможете использовать их для других типов приложений.

А ещё вас ждёт чек‑лист, на что обратить внимание и к каким инструментам присмотреться.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 6

Истории

UI Testing in Swift with XCTest framework

Время на прочтение 6 мин
Количество просмотров 205
Туториал
Перевод

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

Читать далее
Рейтинг 0
Комментарии 0

@ViewBuilder Что? Зачем? Когда?

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

@ViewBuilder Что? Зачем? Когда? SwiftUI, iOS

Разбор назначения, ограничений и рациональность применения конструктора представлений @ViewBuilder.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Близится старт продаж iPhone 15. Почему блокировка банковских приложений не должна вас останавливать?

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

Презентация iPhone 15 – главное технологическое событие сентября. И чем ближе старт продаж – тем больше дискуссий на тему целесообразности покупки нового яблочного смартфона. В этом году в числе стоп-факторов оказался весьма любопытный пункт – блокировка мобильных приложений банков, попавших под санкции. 

Действительно, скачать приложения банков из App Store сейчас нельзя. Пытаться перенести их с одного устройства Apple на другое или установить его в обход магазина – тот еще квест, причем не самый безопасный. Но у нас для вас хорошая новость: выход есть. Если вам интересно узнать, как банки (правда, не все) о вас позаботились и решили эту проблему, а также причем тут мы, компания Smart Engines – заглядывайте под кат. 

Читать далее
Всего голосов 14: ↑6 и ↓8 -2
Комментарии 43

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

Время на прочтение 4 мин
Количество просмотров 1.4K
Дайджест
В этом выпуске шейдеры на iOS и игра менее 1 Мб, Spotify без рекламы и простые привычки лучших инженеров, новая оплата в Unity, самые быстрорастущие приложения в сентябре, социальная сеть только для друзей и многое другое!

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Хочите виртуальный macOS на своём PC? Их есть у меня

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 22K
Туториал
Recovery Mode

Статья о том как установить себе "macOS Monterey" в виртуальной машине на обычном PC без покупки для этой цели макбука или айМака.

По идее это просто туториал как получить у себя на обычном PC систему macOS и Xcode, но так как я тут нахожусь в состоянии "Отхабренный" я могу отправлять статьи только в "Профильные хабы". По этой статье больше бы подошло "Tutorial", но такого хаба я не нашёл и поэтому выбрал наиболее близкие хабы по теме статьи: "Настройка Linux" и "Разработка под iOS". И КДПВ тоже я выбрал идиотскую -- просто сделал скриншот со своего компа где продемонстировал версию macOS и версию установленного у меня Xcode.

Если интересно, то "Читать далее"
Всего голосов 57: ↑45 и ↓12 +33
Комментарии 59

Есть ли смысл начинать писать мобильное приложение не на Kotlin Multiplatform и Compose Multiplatform?

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

Всем привет! Меня зовут Борис Вербицкий, и я представитель того редкого типа iOS разработчиков, которые тепло относятся к Kotlin Multiplatform Project и рады появлению Compose Multiplatform. Здесь я решил поделиться своим опытом использования этих технологий, а также кое-какими размышлениями вокруг процессов с такой разработкой. Цель этой статьи - это поднять обсуждение предложенного мной подхода, послушать все за и против в комментариях.

Приятного чтения!

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 25

Когда бизнесу нужна разработка мобильного приложения? Раскладываем по полочкам. Помогаем определиться с подходами

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 756
Мнение
Июльский отчет Data Reportal показал, что число пользователей мобильных телефонов за 2023 год увеличилось аж на 168 (!) миллионов. Значит ли, что из-за такого прироста нужно выделять бюджет на разработку МП? Да, но не всем. Рассказываем, в каких случаях можно обойтись без приложения, а в каких без него никуда. Подскажем, когда лучше выбирать кроссплатформенную разработку МП, а когда — нативную.

image
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 6

PWA vs Native: чек-лист, который поможет выбрать

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

Привет! Меня зовут Никита Грибков, я работаю Flutter-разработчиком в AGIMA. Мы с командой часто консультируем заказчиков о том, какой тип приложения им выбрать: нативное, кросс-платформенное или PWA. Я решил упростить себе работу и написать об этом статью. Но поскольку о разнице между кросс-платформой и нативом мы уже писали, сосредоточусь на разнице между нативом и PWA.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 9

Шейдеры в iOS для начинающих

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.6K
Туториал

В мобильной разработке мы постоянно имеем дело с векторной графикой: ячейки — прямоугольные, аватарки — круглые, текст — это векторные формы. В пиксели это всё превращается без нашего ведома и как-то само.

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

В iOS 17 пришло значимое обновление — теперь добавить шейдер можно к любой View, а значит, вся интеграция стала проще и растровых эффектов появится больше.

Давайте разбираться, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему. Начнём с простых градиентов, а закончим сложным примером «как в Air Drop на iOS 17».

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

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

Yandex Scale
Дата 25 – 26 сентября
Время 17:00 – 18:00
Место Москва Онлайн
Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business&IT Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн

Мобильная разработка за неделю #505 (4 — 10 сентября)

Время на прочтение 4 мин
Количество просмотров 1.5K
Дайджест
В новом дайджесте интерактивный UX и разбор Android 14, упрощение отладки и распознавания паспортов, атомарный дизайн, самые зарабатывающие приложения в России в августе, уроки музыки и многое другое.

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

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Интерактивный UX: Как использовать Drag and Drop в UICollectionView на iOS

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

Когда речь идет о создании современных и привлекательных пользовательских интерфейсов, функциональность Drag and Drop (перетаскивание и сброс) играет ключевую роль. Эта техника позволяет пользователям более естественным образом взаимодействовать с контентом и упрощает перемещение элементов внутри приложения.

В данной статье мы погрузимся в мир Drag and Drop в контексте UICollectionView, одного из наиболее мощных и гибких компонентов пользовательского интерфейса в iOS. Попробуем легко и эффективно внедрить эту функциональность в проекты, создавая интерактивные и удобные интерфейсы для пользователей.

Собственно это то, что у нас получится:

Смотрим дальше
Рейтинг 0
Комментарии 1

Enum в Swift: Перечисления Возможных Сценариев

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

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

Листаем дальше
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 3

Было: “Умный и Богатый”. Стало: “Отличная оценка!”

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

Что делают ваши дети в свободное время? Мой 9 летний сын выносит на улицу два пластмассовых стула, раскладывает на них разные сделанные им самим странные штучки (например, в прошлый раз это были сложенные из бумаги когти, надевающиеся на пальцы), садится на свою коробку из-под Лего, и начинает торговлю. Сын обаятелен и харизматичен, и хотя он пока мало что может сказать на языке той страны, в которую мы уехали из-за известных событий, торговля “когтями” идет бойко. Сыну нравится процесс и результат тоже: раз-два, и вот у тебя уже полная коробочка денег. 

Но свободное время рано или поздно заканчивается. И приходит пора … например, учить таблицу умножения. Делать это сыну совсем не хочется: “Да я бы сейчас сколько бы уже заработал, а тут учу-учу и всё равно ничего не учится” Сын задумывается: “Хотя, если бы за это можно было бы деньги получать, я бы мигом всё выучил!” Платить за таблицу умножения? А почему бы и нет? Пару вечеров за макбуком, и вот юный бизнесмен уже с удовольствием тестирует прототип приложения, в котором каждый правильно решенный пример приносит ему реальные деньги. А мое клятвенное обещание их выдать надежно в приложении зафиксировано.  

Денежки капают, таблица умножения учится. Раз идея понравилась моему ребенку и дает результат, почему бы не пустить ее в массы? Готовим дизайн, пишем продуктовый код, сын с друзьями проводят тщательное тестирование, выполняем локализацию и, наконец, наступает волнующий момент: приложение с говорящим названием “Smart&Rich”, готовое помогать детям учить таблицу умножения, попутно пополняя копилку за счет родителей (старших братьев, сестер, дядь, теть, бабушек, дедушек и пр. заинтересованных лиц),  отправляется на модерацию в App Store.

Казалось бы, что может пойти не так?
Всего голосов 12: ↑6 и ↓6 0
Комментарии 23

Распознаем паспорт РФ в PWA: быстро, качественно, без сервисов/без утечек

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

Утечки персональных данных в России бьют все рекорды. За два года их совокупное число выросло – только вдумайтесь – в 40 раз. В 2021-м году таких инцидентов было всего четыре, в 2022 – свыше 140, а за первые семь месяцев 2023 года – уже 150.

Одним из возможных путей утечки является передача персональных данных на обработку третьей стороне. По сути, компания передает изображения удостоверяющих документов (паспортов или любых других) своих клиентов незнакомым людям, а что дальше происходит с данными – неизвестно.

Между тем, есть еще один способ ввода данных из документов – прямо на устройстве, без необходимости отправлять куда-то картинку. Он полностью исключает риск любой утечки. Речь идет о нашем мобильном SDK для распознавания паспорта. О том, как мы внедрили наш SDK в PWA (progressive web app), читайте под катом.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 12

Мобильная разработка за неделю #504 (28 августа — 3 сентября)

Время на прочтение 5 мин
Количество просмотров 1.9K
Дайджест
В этом выпуске зарубы с Apple и Ui-тесты для поиска утечек памяти, вторая жизнь Windows Phone и новая социальная сеть с ИИ, игровой рынок 2023, StoreKit 2, советы для прохождения кодинг-интервью и многое другое

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

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Переворачиваем вечный SwiftUI календарь при помощи UIKit

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.7K
Туториал
Данная статья написана в развлекательных целях. Если вам интересно следить за самыми последними новостями iOS разработки и получать подборку интересных статей по этой тематике, тогда вам стоит подписаться на Телеграм-канал iOS Broadcast

Предположим, вам прилетела срочная задача: реализовать календарь, который ведет себя как физический перекидной календарь в котором на каждой странице 3 сентября.

Читать дальше →
Всего голосов 27: ↑17 и ↓10 +7
Комментарии 3

Вклад авторов

Работа

Swift разработчик
64 вакансии
iOS разработчик
49 вакансий