Обновить
256K+

iOS *

Мобильная ОС компании Apple

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

Рецензия на книгу «Основы разработки приложений для iOS»

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

Книга iOS 18 App Development Essentials (русское издание — «Основы разработки приложений для iOS») относится к тому типу учебников, которые остаются полезными даже при смене версий платформы. Основание так утверждать состоит в том, что автор выстраивает материал вокруг полного цикла разработки приложения, т.е. от установки набора средств разработки (SDK, Software Development Kit) и настройки среды до публикации в магазине приложений App Store. Такой подход делает книгу не просто справочником по версии iOS 18, а последовательным курсом по созданию приложений для операционной системы iOS в целом.

Читать далее

Новости

Недоеденное яблоко или код для здоровья: как резиденты клуба «Фармакод» узнали интересные факты о прошлом Apple

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

Восьмого апреля 2026 года сообщество системных администраторов, технических директоров и разработчиков, для кого экосистема Apple давно стала не просто инструментом, а философией, собралось в Москве, чтобы отметить золотой юбилей компании из Купертино. Для нас, резидентов «Фармакода», это было не просто светское мероприятие, а редкая возможность выдохнуть и поговорить с коллегами о том, что действительно важно. Организатором вечера выступила отечественная ИТ-компания «Ринго» — разработчик MDM-решения для управления корпоративным парком устройств Apple в России. И надо сказать, у них получилось создать атмосферу, в которой сочетались и дух легендарного прошлого, и острые вопросы настоящего.

Вечер был наполнен не только неформальным общением, но и действительно интересной программой. Кульминацией стало выступление Евгения Бутмана — человека, который в 90-е годы и начале 2000-х фактически построил бизнес Apple в России, основав сеть re:Store. Его рассказ о том, как хрупкий мир российского ритейла встречался с жёсткой политикой корпорации, превратился в увлекательный экскурс в историю. Следом выступил Дмитрий Дружбин, создатель сервисного центра Fixed.One, который поделился малоизвестными и любопытными фактами из многолетней биографии технологического гиганта.

Читать далее

Мобильная разработка за неделю #628 (13 — 19 апреля)

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

В этом выпуске сравнение быстродействия SwiftUI и UIKit, план изучения Android-разработки и Kotlin DSL для Android-шейдеров, прагматичный взгляд на архитектуру Flutter и пара детективов с поиском багов, как не надо делать скриншоты в App Store, диспетчеризация дома, поддержка Swift в разных IDE, тестирование взаимодействия нескольких устройств и многое другое. Заходите!

Читать далее

Фильтр Калмана, geohash fog of war и три реджекта Apple: как я собрал GPS-трекер на SwiftUI

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

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

Для меня это было важно: я много езжу на машине и хотел знать простую вещь - сколько конкретная поездка стоит в бензине. Ничего подходящего не нашёл и решил написать сам. Я бэкенд-разработчик, до этого проекта не написал ни строчки на Swift - дальше про то, как за месяц вечерами собрал GPS-трекер с фильтром Калмана, fog of war на geohash и Live Activity.

Читать далее

Я сделал свободный и бесплатный Naive-iOS/macOS клиент

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

Naïve-клиент для iOS и macOS и сервер, устанавливающийся одной командой

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

Читать далее

Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

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

Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость.

Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта.

Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

Читать далее

Мобильная разработка за неделю #627 (6 — 12 апреля)

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

В новом дайджесте пружинная анимация и Kotlin без «воды, будущее Android-приложений с AppFunctions и путь к сингулярности, лампа с цифровым джинном, как Gemma 4 меняет правила игры, ошейники для коров, замена List, Remote Compose и многое другое. Заходите!

Читать далее

Как сделать мобильное приложение удобным и уникальным: 8 шагов от идеи до тестирования

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

Знакомо, правда? Мечтаешь создать невозможное: уникальное, новое, то, чего ещё нет на рынке. И при этом чтобы это было твоё «детище», твой продукт, которым ты будешь гордиться и который станет по-настоящему стоящим и полезным для мира.

Думаешь, анализируешь, ищешь вариант, генерируешь идеи… Но всё не то. И каждый раз сталкиваешься с тем, что это уже кто-то реализовал. Да ещё и так круто, что подступиться страшно.

В этой статье я расскажу о проектировании мобильного приложения "Balance" по методу колеса жизненного баланса — от выбора идеи до кликабельных прототипов и тестирования.

Изучая UI/UX-дизайн, маркетинг и рынок в целом, я пришла к главному выводу: уникальность заключается не в том, чтобы придумать то, чего никто никогда не делал, а в том, чтобы сделать так, как никто другой не делает: удобно, красиво, с душой. И для этого не нужна команда дизайнеров. Только вы, ваше желание и правильные шаги.

Читать далее

Proxyman Scripts: как превратить прокси в инструмент автоматизации тестирования

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

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

В этот момент прокси-инструменты вроде Proxyman начинают играть совсем другую роль. Это уже не просто «посмотреть запросы», а полноценный слой управления трафиком.

Меня зовут Станислав, я Test-инженер в KODE, в этой статье разберу, как использовать Proxyman Scripts не как вспомогательную фичу, а как инструмент автоматизации тестирования.

Читать далее

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

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

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

Подробнее

Мобильная разработка за неделю #626 (30 марта — 5 апреля)

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

В новом выпуске выпуск приложений в App Store без Mac и Android Service своей мечты, узкие места в производительности Android-приложений и как Swift работает с памятью, Android SDK на Swift, кризис в RuStore и путь к тёмной стороне, захват категории Cast to TV в Google Play, галлюцинации LLM и многое другое. Заходите!

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Apple Developer enrollment и Unknown Error: как «неизвестная» ошибка оказалась региональным ограничением

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

Казалось бы, Apple — компания, которая возвела пользовательский опыт в культ. Но ровно до того момента, пока вы не решите стать частью их экосистемы как разработчик. Если вы думали, что самое сложное в iOS-деве — это разобраться с делегатами или SwiftData, то спешу вас расстроить: настоящий босс ждёт на этапе энроллмента.

Ситуация абсурдна до боли: ты стоишь с карточкой в руках, готовый отдать заветные $99, но официальное приложение Apple Developer превращается в глухую стену. На этапе «I agree» вместо приветственного письма ты получаешь в лицо типичный корпоративный «от ворот поворот»: Unknown Error. Please try again.

Читать далее

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

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

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

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

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

Читать далее

Оплату Apple с мобильного счёта запретят в России, как оплатить App Store теперь и что будет дальше?

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

Как уже сообщалось на Хабре, с 1 апреля 2026 года операторы мобильной связи отключат россиянам возможность оплачивать сервисы Apple через мобильные счета. Ни купить подарочную карту Apple, ни оплатить Apple Music теперь не получится, рассказали РБК три источника на телеком-рынке. Соответствующее указание операторы получили от Минцифры, а оно — от кого-то выше.

Мобильный счёт оператора был самым удобным способом оплатить зарубежные санкционные сервисы, которые не принимают российские банковские карты. Apple сама полностью заблокировала возможность привязки российских карт с марта 2022 года, а ранее привязанные карты были деактивированы.

Теперь этот канал перекрывают, причём не западные компании, а с российской стороны. Как в том анекдоте — не надо накладывать на нас санкции, мы сами это сделаем.

Читать далее

Мобильная разработка за неделю #625 (23 — 29 марта)

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

В новом дайджесте сетевой слой в iOS и сериализация Kotlin, 10 ошибок, которые Android-разработчиков и сожаление о выборе профессии, что происходит с подписочной моделью в приложениях, как перестать бояться Claude Code и научить его не ломать проекты, и многое другое. Заходите!

Читать далее

Vivaldi 7.9 для мобильных устройств — Удобно и красиво

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

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

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