RU

Паничный PIN, который отдавал ключ от всего: разбор ошибок

Мы делаем мессенджер RCQ ( rcq.app , исходники клиентов на  github.com/rcq-messenger ). В нём есть штука, которую в разных приложениях называют…

паничный PINsqlcipherpbkdf2argon2idшифрование на устройствеизъятие телефонаAndroidiOSdecoyrcq
Habr
RU

Как мы построили систему регрессионного UI-тестирования для iOS-приложения: XCUITest, mock backend и XcodeBuildMCP

По мере роста UI-регрессии сложнее всего становится управлять не тестами, а их окружением: состоянием приложения, ответами backend и воспроизводимос…

iOSSwiftXCUITestUI-тестированиерегрессионное тестированиеавтоматизация тестированияmock backendXcodeBuildMCPИИ-агентыiOS Simulator
Habr
RU

Почему отправленная MDM-команда ещё не означает выполненную

MDM-команда проходит через очередь, инфраструктуру Apple или Google и агент на устройстве. Поэтому ответ API ещё ничего не говорит о фактическом при…

MDMAndroid EnterpriseiOSAPNsAndroid Management APIOutboxeventual consistencyуправление устройствами
Habr
RU

Как пройти App Review, если ваше приложение требует регистрации

Перед первой публикацией разработанного мной приложения WeCount я был уверен, что главная причина возможного отказа — ошибки в к…

App ReviewAppleiOSApp StoreрегистрацияавторизацияSMSPushApp Store Connectмобильная разработка
Habr
RU

Автоматизация метаданных App Store и Google Play с fastlane и Azure Pipelines

Приложение поддерживает 20+ языков. Каждое обновление — это не только новая сборка, но и правки в обоих магазинах: наз…

fastlaneAzure PipelinesApp Store ConnectGoogle Playлокализациямобильная разработкаiOSAndroidCIнейрослоп
Habr
RU

Один фреймворк для Android и iOS: звучит круто, работает?  Нет

Почему единый кроссплатформенный фреймворк для автотестов Android и iOS не работает на практике и когда стоит разделить его на два отдельных проекта…

JavaТестированиеAndroidGitРаспознаваниеiOSРаботаSwiftHRGitLabKotlinФинтехQAПриложениеdevСерверБиблиотекиТестирование приложений и сайтов плюсИнфраструктураСтатьи
Tproger
RU

Верните мой 2012. Четырнадцать лет корпоративной мобильности от первого лица

Привет, Хабр! Я Олег Ассур, технический директор SafeMobile. Управление мобильными устройствами или MDM – тема, мимо которой проходят не только лишь…

MDMSamsung KnoxSafeMobileApple MDMКорпоративная мобильностьAppConfigAPNSDDMAndroidiOS
Habr
RU

Один радар на стекле, другой в телефоне, и в каждом чего-то не хватало

У меня есть физический радар детектор — коробочка на стекле. И есть купленное приложение-антирадар. Что общего у них двух? В каждом чего-то не хвата…

радар-детекторантирадарiOSSwiftGPSгироскопфьюжн сенсоровкраудсорсингApp Attest
Habr
RU

Аналог Plaud на iPhone: эксперименты с локальной транскрибацией ASR на iOS

Мы делаем приложение Memo: есть куча гаджетов и сервисов вроде Plaud — это когда ты платишь за отдельную «умную» коробочку-диктофон, которая записыв…

iOSраспознавание речиASRspeech-to-texton-device MLлокальные моделитранскрибацияSpeechAnalyzerApple Neural Engineразработка под iOS
Habr
RU

«Люди вокруг» на SpriteKit: кольца-расстояния, инерция пальцем и виртуализация аватаров

Продолжение истории про проект геолокационной соцсети: “как мы людей в круги расставляли”. Рассказываю о том, как можно красиво отобразить пользоват…

iOSSwiftSpriteKitUIанимациявиртуализацияCADisplayLinkигровой движокгеолокация
Habr
RU

Тап по тысяче точек за O(log n): QuadTree и сферическая геометрия в гео-соцсети

9 лет назад я разрабатывал геолокационную соц.сеть на заказ, где мы отображали чаты на карте. До релиза не дошло, но интересного опыта было получено…

iOSSwiftалгоритмыQuadTreeструктуры данныхпространственный индекссферическая геометрияMapboxкартыоптимизация
Habr
RU

Как нарисовать тысячи объектов на карте и не убить FPS: эволюция рендера на Mapbox GL

Когда-то давно я разрабатывал геолокационную соцсеть, где на карте живут «облака» — посты, привязанные к точке. И этих облаков на экране могло быть…

iOSSwiftMapboxкартырендерингпроизводительностьоптимизацияGPUFPSdata-driven
Habr
RU

Backend-Driven UI для умного дома: как обучить сервер верстать интерфейсы

Привет, Хабр!  Я Дмитрий, iOS-разработчик из команды Салют — мы делаем устройства и программное обеспечение для Умного дома Сбер. У нас много с…

iOSSwiftSwiftUIAndroidJetpack ComposeBDUIBackend-Driven UIумный домmobileумныйдомСбер
Habr
RU

Живой космос на Metal: как я переписывал фон мобильной игры и поднимал FPS с 20 до 120

В мобильной разработке мы привыкли, что красивый анимированный фон — это либо видео, либо пара слоёв с CAGradientLayer и медленным параллаксом. Для…

Metalшейдерыоптимизация производительностиiOSSwiftSpriteKitGPUMTKViewfragment shaderмобильная графика
Habr
RU

Я перестал доверять стримингам. Поэтому написал свой iOS-плеер — с CarPlay и без вранья про звук

Я перестал верить стримингам. Не философски, а практически. Половина любимых альбомов либо ушла из каталогов, либо вернулась пересведенной так, что…

iOSSwiftSwiftUIAVFoundationCarPlayShazamKitаудиоHi-ResDSPинди-разработка
Habr
RU

Когда Reality не хватает: добавляем Hysteria2 + Salamander в iOS-мессенджер, и как всегда грабли по дороге (ч.2)

В прошлой статье я рассказывал, как мы встроили VLESS + Reality прямо в наше iOS-приложение через sing-box, чтобы обход блокировок был не задачей по…

обход блокировокHysteria2Salamandersing-boxDPIбелый списокQUICiOSSwiftgomobile
Habr
RU

Обход блокировок внутри iOS-приложения: VLESS + Reality через sing-box, и грабли по дороге

Мы делаем мессенджер. Весной 2026 наш бэкенд начал отваливаться у части пользователей из России: HTTPS‑запросы к API таймаутятся…

обход блокировокVLESSRealitysing-boxXTLSпроксицензураiOSSwiftgomobile
Habr
RU

OwnCloud – аналог Nextcloud: для чего использовать и как настроить облачное хранилище

ownCloud vs Nextcloud, что лучше? Какое облачное хранилище выбрать? Как может помочь связка S3 с ownCloud? — Читать дальше « OwnCloud – аналог Nextc…

LinuxAndroidОпросMySQLКонференцииIDESQLWindowsiOSРаботаTorБотыRustHRDockermacOSICORedisМаркетингQAМессенджерПерсональные данныеСерверДизайнМашин1CБизнесСтатьи
Tproger
RU

Simplphoto для iPhone объединяет ручную камеру, stop motion и коллажи

Разработка iOS-приложения для ручной съёмки на iPhone: ISO, выдержка, фокус, RAW, stop motion и попытка ограничить вычислительную обработку снимков.…

iOSswiftмобильная разработкамобильная разработка iosiPhoneкамерафотографиямобильное приложение
Habr
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реа…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи