Обновить
32K+

Xcode *

Интегрированная среда разработки ПО

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

Как я написал лучшее приложение для изучения иностранных языков с помощью SFSpeechRecognizer (нет)

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

Вообще‑то, я бэкендер последние лет 20, но недавно остался без работы (и AI тут не причём), решил «замутить» свой «стартап», пока ищу новую работу Java‑программиста. А заодно подтянуть новые технологии, поглубже изучить немецкий и английский и немного развеяться…

Писать приложения под iOS было моим хобби последние лет 10, и пару моих приложений до сих пор постоянно висят в топе в Российском AppStore, но это были всё «игрушки», а захотелось сделать что‑то взаправду стоящее, и так возникла идея написать лучшее (ни больше ни меньше) приложение для изучения языков с помощью аудирования. Точнее, товарищ подсказал идею. А ещё точнее — идея давно была реализована под Андроид, но аналогов под iOS нет, а очень хотелось. И мне, и товарищу:). Да и смартфона с андроидом у меня нет и никогда не было, не судите строго, но не люблю я вирусы и глюки.

Идея следующая: берёте любое аудио на любом нужном вам языке, загружаете в приложение, и оно автоматически (можно так же вручную) разбивает аудиофайл на нужные вам сегменты для «шэдоуинга», аудирования, многократного прослушивания и тому подобного. Аналогов в сторе я не нашёл, точнее, что‑то отдалённо похожее там есть, но без своих настроек, без выбора своего контента для изучения, без красивой визуализации аудио, короче, без всего того, что нам бы хотелось иметь.

Итак, идея есть, какие технологии использовать? В старых моих приложениях был UIKit, Realm/CoreData, и, сториборды. Не судите строго, я как бэкэндер тогда не знал, что использование сторибордов среди «трушных» айосников считается плохим тоном и плохой приметой. Но теперь‑то я решил использовать современные технологии! И выбрал такой стэк: SwiftUI, SwiftData, Speech Framework. Что касается последнего, то он вроде бы доступен ещё с iOS 10, но я решил, что технологии развиваются, и распознавание текста из аудио должно было бы сделать со времени iOS 10 огромный рывок вперёд. Но теперь я не так сильно в этом уверен, и об этом эта моя маленькая статья…

Читать далее

Новости

AI в iOS-разработке: что у меня реально закрепилось в 2026, а что я выкинул

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


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

Это статья не про «AI изменит всё» и не про то, как за вечер собрать Todo-приложение через Claude Code. Это про то, как iOS-разработчику, который уже живёт с AI-инструментами, выжать из них максимум - и не наступить на грабли, на которые наступили до тебя остальные.

Читать далее

The Xcode build system has crashed, или Почему рекурсия — это плохо. Используем swift‑build со своими патчами

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

Представьте ситуацию: вы работаете в огромном проекте, где количество модулей давно перевалило за тысячу. Вы решаете обновиться до свежего Xcode 26.2, ожидая прироста производительности, но вместо заветного «Build Succeeded» получаете молчаливое падение: SWBBuildService quit unexpectedly.

Всем привет, меня зовут Алексей Севко, я ведущий разработчик программного обеспечения из команды Delivery & Performance Яндекс Go. В этой статье я расскажу почти детективную историю о том, как:

— Искать иголку в стоге сена: когда падает закрытый бинарник Xcode.

— Стать контрибьютором swift-build: почему иногда проще переписать системный поиск макросов в swift-build, чем ждать фикса от Apple.

— Использовать свою версию билд-системы: как мы внедрили инфраструктуру прозрачной подмены компонентов Xcode через XCBBUILDSERVICE_PATH, чтобы не ждать релиза Xcode со Swift 6.3 и работать стабильно уже сегодня.

Если ваш проект тоже перерос стандартные инструменты Apple или вам просто интересно, как превратить рекурсию в итерацию и не сойти с ума от 45-минутных дебаг-сессий, — добро пожаловать под кат!

Читать далее

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

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

Решение ошибки 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 всех учеток кроме той, через которую выполняется публикация. 🔨

Подробнее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

Unreal Engine 5.4 + C++ + MacOS Tahoe + Android build = Build Successful

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

Небольшая инструкция для всех, кто работает в Unreal Engine и пишет на C++ или иных языках + компилирует файлы для Андроид.

Читать далее

Asset Catalog – скрытый bottleneck сборки iOS. Разбираемся, как распараллелить компиляцию Asset’ов

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

2026 год. У вас 8–16 ядер в ноутбуке. M-чипы летают.

Swift компилируется параллельно.

Вы нажимаете ⌘B – и одно ядро уныло крутится на 100% загрузки, пока остальные отдыхают.

Добро пожаловать в мир однопоточной компиляции Asset Catalog’а.

В этой статье я покажу, почему Asset Catalog тормозит сборку и как заставить Xcode использовать больше ядер CPU. Пошагово и с примерами.

Читать далее

Поднимаем версию до Swift 6

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

Swift 6 вышел чуть больше года назад, однако iOS-сообщество не спешит поднимать версию в коммерческих проектах. Да и среди энтузиастов на Хабре не так много тех, кто готов поделиться практическим опытом миграции. Поэтому остаётся пробовать самому. Проверим, насколько сложно будет поднять версию для простого приложения на SwiftUI.

Читать далее

Proxyman + HAR = mock-данные для iOS-тестов

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

Привет! Меня зовут Ринат, я iOS-разработчик в Naumen. В компании я занимаюсь разработкой нескольких iOS-продуктов: клиента для SMP-сервера (Service Management Platform) и SDK чата.

В этой статье расскажу, как мы используем связку Proxyman + HAR, чтобы готовить mock-данные сетевых запросов для интеграционных UI-тестов одного из iOS-приложений. Такой подход выручает, когда для тестов нет возможности поднять сервер с нужным наполнением или сервер не предоставляет дополнительных методов API для имитации определенного сценария — например, переписка в чате с собеседником, обновление статуса заказа.

Читать далее

Xcode — худшее профессиональное ПО, с которым я когда-либо работал

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

Xcode ужасен, и об этом много кто говорит. Постоянные ошибки, баги интерфейса, неочевидное поведение и местами плохая документация — всё это мешает спокойно писать код. Вместо работы над проектом приходится искать решения проблем и пытаться починить то, что должно работать из коробки. Ещё одна неприятность на этом пути заключается в том, что Apple не всегда публично рассказывает о багах в Xcode, поэтому надо ещё догадаться, что именно не работает.

В этой статье автор делится ошибками и «особенностями» Xcode, которые больше всего его раздражают. Главный совет: держитесь подальше от этой IDE и всегда ищите альтернативы.

Читать далее

Сам себе Шерлок: 7 способов найти логи и поймать баг на iOS

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

Привет, Хабр! Меня зовут Максим, и я тестирую мобильные приложения в ATI.SU. Знакома ситуация, когда кнопка не работает, приложение виснет, анимации тормозят, но при этом нет никаких ошибок на экране?
Можно часами играть в детектива, гадая по UI и строя догадки, что пошло не так. А можно за несколько минут найти настоящего преступника — ведь iOS щедро оставляет улики в виде логов. Нужно лишь знать, где их искать. Секрет — в грамотном выборе способа, как собрать доказательства. Но обо всём по порядку.

Начать расследование

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

Xcode: ключевые инструменты для ручного тестирования мобильных приложений

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

Примерно 65% критических багов в IOS-приложениях можно выловить ещё на этапе разработки, если грамотно использовать встроенные инструменты Xcode

В этой статье – подробный разбор инструментов, наиболее востребованных в команде тестирования мобильных приложений в Совкомбанк Технологиях.

Узнать больше про инструменты Xcode

Как использовать Google Gemini в бете Xcode 26

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

На Mastodon кто-то спросил, можно ли подключить Google Gemini к бете Xcode 26 в macOS 26. Можно! Но… с помощью небольших хитростей и прокси-скриптов.

Читать далее

Решение ошибки unsupported option '-G' for target 'arm64-apple-ios' при сборке проекта с Firebase и BoringSSL-GRPC

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

После добавления зависимостей Firebase через CocoaPods в iOS-проект, при сборке я столкнуться с не приятной ошибкой:

Читать далее

Публикация приложения в AppStore

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

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

Давайте разберемся, как опубликовать наше первое приложение в AppStore. 

Читать далее

Sheet с автоматическим подсчётом высоты и поддержкой iOS 15

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

В этой статье я расскажу о том, как создать нативный Sheet, который автоматически подсчитывает свою высоту в зависимости от котента (SwiftUI View). Задача была в том, чтобы решение было c минимумом костылей и сохраняло поддержку iOS 15. Готового похожего решения мне не удалось найти, поэтому решил создать свой вариант.

Читать далее

Костыли, костыли и ещё раз костыли. Или поддержка ios15 на SwiftUI

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

Итак, есть задача: переделать экран авторизации на новый дизайн. И заодно на SwiftUI. Одна загвоздка — проект пока ещё поддерживает ios15, из‑за этого многие фичи SwiftUI недоступны.

Читать далее

Управление Xcode симулятором из симулятора

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

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

Всё началось как обычно, а что если ...

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