Рубрика «swift» - 2

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

Для мессенджера это приговор. Не «неудобно», а именно приговор: приложение, которое не может даже подключиться, бесполезно. И вариант «попросите пользователя сначала включить VPN» нас не устраивал совсем. Ниже разберу, почему мы в итоге встроили обход прямо в приложение, на чём он работает и на какие грабли мы наступили. Без маркетинга, по делу.

Почему не «просто VPN»

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

Я выпустил небольшое iOS-приложение — NetDiag+. Это набор сетевых утилит: ping, traceroute, DNS lookup, whois, LAN-сканер, port scanner, проверка SSL-сертификатов, BGP/ASN lookup, Wi-Fi info и фоновый мониторинг хостов с пушами при падении. Я начинал его как пет-проект для собственных нужд, потому что на iOS приходилось переключаться между четырьмя разными приложениями для базовой диагностики, и в трёх из четырёх была реклама.

Хочу поделиться тем, что мне самому хотелось бы прочитать в начале — почему некоторые вещи на iOS работают не так, как ожидаешь от Unix-фона, и где грабли лежат не там, где кажется.

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

Когда я готовился к внутреннему митапу по WWDC 2025 в нашей iOS-команде, нужно было сделать обзор сессий #360 (Discover ML & AI Frameworks) и #265 (Dive Deeper into Writing Tools). Доклад я уже провёл, но при подготовке набралось много заметок, которые в формат презентации не влезли: подводные камни, неочевидные решения, паттерны использования. Эта статья — попытка собрать всё это в одном месте.

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

Я выпустил Simplphoto — бесплатное приложение для iPhone, в котором собрал три вещи, которых мне не хватало: ручную камеру, stop motion и коллажи.

Все началось от идеи уменьшить вмешательство ИИ в процесс фотосъемки, поэтому в Simplphoto сделан упор не на «магическое улучшение», а на более понятный и контролируемый процесс съёмки.

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

Миграция большого iOS-проекта с Objective-C на Swift кажется понятной задачей ровно до тех пор, пока не начинаешь считать объём. В нашем случае это были 10 тысяч файлов, сотни тысяч строк кода и постоянная необходимость не останавливать развитие продукта. Ручной подход работал слишком медленно, поэтому мы начали автоматизировать миграцию с помощью LLM — и в итоге превратили её из бесконечного техдолга в воспроизводимый процесс.

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

За последние полгода я перетряс свой рабочий стек полностью: Cursor, Claude Code, Codex, локальные Qwen-модели для ревью, несколько итераций своего AGENTS.md, Xcode MCP, mobile-mcp, Conductor для параллельных сессий. Что-то прижилось, что-то я удалил через неделю, а какие-то практики, которые ещё весной казались обязательными, сейчас выглядят странно.

Ниже — мои личные заметки по итогам этих полугода, а не обзор индустрии. Многое я подсмотрел у коллег и в чатах, не всё придумал сам.

1. Минимализм в AGENTS.md

Если у вас CLAUDE.md (или AGENTS.mdЧитать полностью »

Когда Apple добавила вырез (notch) в MacBook, реакция у многих была примерно одинаковая:

он есть — и с ним приходится просто мириться.

В отличие от iPhone, где появился Dynamic Island и вырез стал частью интерфейса, на macOS он до сих пор остаётся пассивным элементом. Он не несёт функциональной нагрузки и никак не взаимодействует с пользователем.

У меня возник простой вопрос:

а что если сделать вырез частью UI, а не ограничением?

Так появился проект DynamicNotch.

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

В 2024 году Google тихо убил Timeline в Google Maps. Историю местоположений перевели в «локальный режим», который на практике работает через раз – данные теряются, синхронизации нет, а у многих просто исчезли годы накопленной истории.

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

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

Многие приложения для здоровья в России перестали нормально работать. Omron — одно из них. А давление мерить надо каждый день. Поэтому я решил сделать своё iOS-приложение, которое через камеру считывает показания с любого тонометра, сохраняет их и строит графики динамики.

Я Senior CV-инженер — компьютерное зрение моя основная работа. Так что OCR с дисплея тонометра технически не должен был стать проблемой. Но как iOS-разработчик я — полный ноль. Xcode открыл впервые. Swift видел мельком. Это честный рассказ о том, как это выглядит изнутри.

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

Всем привет! Меня зовут Роман, я iOS разработчик. Сегодня я поделюсь с вами пошаговым планом создания демо приложения на SwiftUI с использованием Yandex MapKit SDK. Поехали!

Добавление карт в проект

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

https://yandex.ru/maps-api/docs/mapkit/ios/generated/getting_started.html

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js