Обновить
128K+

Swift *

Открытый объектно-ориентированный язык

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

Расширение поддержки IDE Swift

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

Теперь можно писать на Swift в более широком спектре популярных интегрированных сред разработки, включая Cursor, VSCodium, Kiro от AWS и Antigravity от Google. Благодаря совместимости с расширениями VS Code эти редакторы напрямую подключаются к реестру Open VSX, где теперь доступно официальное расширение Swift.

Swift уже давно поддерживает разработку с использованием множества интегрированных сред разработки, включая VS Code, Xcode, Neovim и Emacs. Swift также совместим с редакторами, поддерживающими протокол Language Server Protocol (LSP). Эта растущая экосистема поддержки редакторов особенно важна, поскольку Swift продолжает демонстрировать свою универсальность на разных платформах и в различных средах разработки, включая агентные IDE.

Читать далее

Новости

Решение ошибки You do not have required role or permission to perform an operation в Xcode

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели8.3K

Решение ошибки You do not have required role or permission to perform an operation при загрузке в TestFlight через Xcode

Столкнулся с ошибкой при отправке сборки в TestFlight из Xcode (впервые такое)

При этом:

✅ аккаунт в App Store Connect был владельцем

✅ все соглашения, налоговые формы и банковские данные были заполнены

✅ Bundle Identifier совпадал

✅ архив собирался корректно

Проблема оказалась не в правах App Store Connect, а в том, что в аккаунтах у меня было добавлено несколько учетных записей Apple ID. Из-за этого Xcode путался при работе с App Store Connect и при отправке сборки выдавал ошибку прав доступа.

Помог выпил из Xcode всех учеток кроме той, через которую выполняется публикация. 🔨

Подробнее

AIVPN: VPN-протокол с мимикрией трафика и автоматической сменой профиля

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели56K

AIVPN — это VPN-протокол на Rust, который не только шифрует трафик, но и маскирует его под реальные приложения. Внутри: короткие криптотеги вместо открытого идентификатора сессии, малозаметный старт соединения, профили масок для мимикрии трафика и легковесный модуль нейросетевого резонанса, который отслеживает деградацию маски и позволяет автоматически переключаться на резервный профиль. Сейчас проекту нужна поддержка для развития протокола и выпуска iOS-версии с оплатой Apple Developer Program и размещением в App Store.

Читать далее

Исследование макросов @Generable и @Guide во фреймворке FoundationModels

Время на прочтение3 мин
Охват и читатели6.1K

Приветствую, Хабр!

Макросы Swift предоставляют мощный механизм для генерации кода, позволяя разработчикам уменьшать количество шаблонного кода и повышать читаемость. Фреймворк FoundationModels представляет новые макросы, призванные упростить генерацию данных для определённых типов моделей с использованием языковых моделей.

Читать далее

Использование фреймворка Foundation Models для локального ИИ в SwiftUI

Время на прочтение3 мин
Охват и читатели6K

Приветствую, Хабр!

На конференции WWDC 2025 компания Apple представила фреймворк Foundation Models — набор инструментов, позволяющий разработчикам интегрировать локальные ИИ-модели Apple в свои приложения. По заявлению Apple, эти модели работают полностью на устройстве, не требуют подключения к облаку, не влекут затрат на инференс и ставят во главу угла конфиденциальность пользователей. В этой статье показано, как реализовать фреймворк Foundation Models в приложении на SwiftUI для обработки пользовательских запросов и отображения ответов, сгенерированных ИИ, в реальном времени.

Читать далее

«Что нового в Swift» Март 2026

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

Swift 6.3: главные особенности релиза

Вышел Swift 6.3, который расширяет возможности языка в новых областях и повышает удобство его использования разработчиками. Одна из главных особенностей релиза — работа над улучшением кроссплатформенных инструментов сборки.

Оуэн Вурхис делится новостями об этой работе:

Читать далее

Apple хочет чтобы я купил Mac за 200к. У меня два приложения в App Store и ни одного макбука

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

У меня нет макбука. Но два моих приложения лежат в App Store. Рассказываю весь путь: регистрация Apple Developer из России, сертификаты без Xcode, автоматическая сборка через GitHub Actions. Три варианта: для вайбкодеров, программистов без мака и хардкорщиков.

Читать далее

Как Swift работает с памятью: подробный гайд для разработчиков. Часть 2

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

Всем привет! Я Данила Горячкин — iOS-инженер в команде Performance в Авито. Занимаюсь оптимизацией производительности iOS‑приложений и менторингом разработчиков.

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

Читать далее

Как Swift работает с памятью: подробный гайд для разработчиков. Часть 1

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

Всем привет! Я Данила Горячкин — iOS-инженер в команде Performance в Авито. Занимаюсь оптимизацией производительности iOS‑приложений и менторингом разработчиков.

В этой статье последовательно разберем, как Swift управляет памятью: от базовых понятий вроде ARC,  Copy‑on‑Write, экзистенциальных контейнеров до нетипичных задач с «зомби»-объектами и non-frozen типами. Материал основан на документации Swift, докладах WWDC и практических примерах. Статья рассчитана на middle- iOS‑разработчиков, которые хотят лучше понимать, что происходит с их кодом на уровне памяти и почему одни решения оказываются дороже других.

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

Читать далее

Как я сделал шифрование поверх MAX, когда приватность стала роскошью

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

Как я без Mac, с помощью Claude AI и GitHub Actions, создал кроссплатформенное приложение для шифрования сообщений поверх любого мессенджера. Android на Kotlin, iOS на Swift без MacBook, десктоп на Python. AES-256, три платформы, два отказа от Apple и один баг с буквой «а».

Читать далее

iOS network frameworks и HTTP TCP Server внутри приложения

Уровень сложностиСложный
Время на прочтение23 мин
Охват и читатели5.5K

Привет. В iOS разработке работа с сетью является одной из ключевых задач. Для этого существует целый арсенал инструментов: от высокоуровневого URLSession до работы с низкоуровневыми BSD сокетами.

В этой статье мы разберем список доступных инструментов, напишем и запустим сервер внутри iOS приложения, используя самый низкоуровневых инструмент (BSD sockets). И закрепим это небольшим проектом, который будет использовать наш сервер. Им будет небольшая админка, с помощью которой можно будет загружать файлы из файловой директории приложения через веб браузер (с других устройств в локальной сети).

Читать далее

BP Tracker: считываем давление с тонометра камерой iPhone. Часть 1 — выбор стека и первый экран

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.9K

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

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

И да, я делаю open source приложение за свободу здоровья от политики — и при этом только под iOS. Ирония не ускользнула. Но это open source — найдётся кто-нибудь с Android-девайсом и свободным вечером 🙂

Читать далее

Автоматическая генерация UI-настроек: от типа данных к готовому интерфейсу

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели3.9K

Меня зовут Илья, я мобильный разработчик в Naumen. Моя основная специализация — iOS-разработка. Я занимаюсь развитием мобильного клиента платформы Naumen Service Management Platform, а также Chat SDK в рамках Naumen Contact Center.

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

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

Читать далее

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

Отладка iOS-приложений на практике: 3 реальных бага

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

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

Читать далее

В поиске секретов. iOS Пентест. Часть третья

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

Вас приветствует Ян - старший пентестер из компании Xilant!

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

Для этого нам понадобятся знания из прошлой статьи. Напомню, что мы научились получать root-доступ к более-менее свежим iOS устройствам, а также пользовались аналогом adb через ssh и iproxy. Это дало нам полный доступ к системным ресурсам iOS и позволило не только устанавливать geek-твики, но и воздействовать на память и процессы.

Чтобы не выходить за рамки закона, мы будем использовать тестовое приложение DVIA-v2 для обучения себя этим навыкам. 

Ведь тот кто знает как нападать, сможет себя защитить.

Читать далее

Ой, всё упало: 4+ способа достать креш-отчет с iOS-приложения

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели5.2K

Привет, Хабр! На связи снова Максим из ATI.SU. В прошлой статье мы научились собирать логи на iOS устройствах разными способами и теперь для нас не вопрос разобраться, почему кнопка не нажимается, а данные не грузятся.

Но бывают ситуации куда страшнее. Вы запускаете приложение, а оно... тут же исчезает. Или вы работали в приложении, раз... и вы видите домашний экран. А еще приложение может так зависнуть, что помогает только полная перезагрузка самого устройства. Все это — его величество креш (a.k.a. краш, крэш, crash, вылет, сбой, падение, аварийное завершение).

Если привести аналогии, то логи — это жалобная книга, а креш‑отчет — это заключение судмедэксперта. В нём написано точное время смерти, причина и состояние памяти устройства в последний момент жизни приложения.

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

Начать вскрытие

Почему многие неверно реализуют MVVM или способы создания абстракций

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

Привет, Хабр! Меня зовут Кирилл Маканков, я iOS-разработчик в ПСБ.  

Сегодня хочу поговорить про особенности реализации MVVM. Не с практической, а с теоретической стороны. С практической стороны этот архитектурный шаблон давно уже изучен вдоль и поперёк. А вот теоретических исследований, особенно применимых к Swift (и в общем, и к SwiftUI в частности), не так уж и много. Давайте вместе попробуем закрыть этот пробел и обосновать с теоретической точки зрения те или иные вариации реализаций в нашей ежедневной работе. Мобильным разработчикам на ObjC, Java и Kotlin данное исследование и обсуждение тоже будет полезно. Присоединяйтесь!

Если вы уже хорошо знакомы с MVVM, то в конце приведен опрос об используемой лично вами реализации. Давайте вместе определим, какая из реализаций самая популярная.

Читать далее

Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

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

Swift Package Manager отлично подходит для модульной архитектуры, но по мере роста проекта Package.swift быстро превращается в длинный список строковых зависимостей.

В статье показываю, как превратить Package.swift в типобезопасный DSL на Swift:

убрать строковые зависимости
автоматически генерировать feature-модули
зафиксировать архитектурные правила на уровне компиляции

Читать далее

Внедряем Yandex MapKit SDK в SwiftUI приложение. Пишем Demo проект

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели4.6K

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

Читать далее

Повторный вход в акторы в Swift

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

Акторы в Swift решают проблему гонок данных. Cам по себе актор гарантирует, что к его состоянию обращается только одна задача одновременно. Никаких мьютексов, семафоров, очередей — компилятор сам следит.

Звучит неплохо. Но есть подвох, и он называется повторный вход (reentrancy). Актор защищает от одновременного доступа, но не защищает от того, что состояние изменится между двумя вашими обращениями к нему.

Читать далее
1
23 ...