es
Feedback
SwiftyGroup

SwiftyGroup

Ir al canal en Telegram

Собираю единомышленников для совместного изучения Swift, подготовки к собеседованиям и прокачивания скилов:) Чат группы: https://t.me/swiftygroup @swiftygroup Все самое интересное: https://boosty.to/buik Админ: @VladimirBuik

Mostrar más
2 348
Suscriptores
Sin datos24 horas
-17 días
-1230 días
Archivo de publicaciones
⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочег
+4
⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочего процесса, появляются вполне инженерные вопросы: сколько токенов уходит на задачу, где агент теряет контекст, оправдан ли MCP, как поделиться рабочими практиками внутри команды и где автоматизация начинает создавать больше проблем, чем решает. Этим вопросам посвятят отдельный блок на Mobius 2026 Autumn — конференции по мобильной разработке. Восемь докладов, где AI-разработку рассмотрят с разных сторон: от оптимизации агентов и оркестрации до юридических ограничений и локальных моделей. Подробности — в карточках и на сайте. Конференция пройдет 21–22 октября в Санкт-Петербурге + онлайн.

Всем привет😎. Уже прилетел отказ от Apple: «Приложение падает при запуске». Начал проверять — у меня всё работает, ничего не
+1
Всем привет😎. Уже прилетел отказ от Apple: «Приложение падает при запуске». Начал проверять — у меня всё работает, ничего не падает. Запустил на iPad — и вот вам вылет прямо на старте 😕 Причина — UIScene. В логах: для приложения, собранного с этим SDK, требуется UIScene lifecycle. Сам же предупреждал про UIScene, сам же на этом и попался. 😱

Доигрались, вайбкодеры? Apple из-за вас меняет файл проекта .pbxproj ➡️ .xcproj 📁 Раньше проект хранился в property-list, а
Доигрались, вайбкодеры? Apple из-за вас меняет файл проекта .pbxproj ➡️ .xcproj 📁 Раньше проект хранился в property-list, а теперь в JSON
Агентам будет проще править файл, меньше конфилктов, нормально видны изменения

iPhone Duo Design Guidelines Подъехали подробные гайдлайны по тому, как надо адаптировать свои приложения для работы с новой
iPhone Duo Design Guidelines Подъехали подробные гайдлайны по тому, как надо адаптировать свои приложения для работы с новой раскладушкой. Давайте, не ленимся поддерживать, я планирую покупать!

Xcode 27 RC уже вышел, и приложения, собранные в нём, уже можно отправлять на проверку в App Store. Если ваше приложение всё ещё использует старый жизненный цикл через UIApplicationDelegate, без UIScene, самое время мигрировать. Приложения, собранные с iOS 27 SDK, не будут запускаться без поддержки сцен. Кстати, UIScreen.main тоже теперь deprecated. Инструкция Apple по переходу на UIScene

Repost from iOS Makes Me Hate

🧭 Podlodka iOS Crew: разработка с AI С 14 по 18 сентября пройдет новый сезон Podlodka iOS Crew. В этот раз в центре внимания
+3
🧭 Podlodka iOS Crew: разработка с AI С 14 по 18 сентября пройдет новый сезон Podlodka iOS Crew. В этот раз в центре внимания авторов конференции то, как AI меняет iOS-разработку. Что ждёт участников: 🍏 Стратегия внедрения терминальных ИИ-агентов и MCP-интеграции в ежедневную iOS-разработку 🍏 AI как экзокостюм мобильного разработчика: harness, skills, CLI, orchestration, validation и evals 🍏 Знания о том, как запускать локальные модели на Apple Silicon 🍏 Готовые скрипты, которые можно забрать в свой проект: шаблон рабочего пространства агента, примеры скиллов и MCP, пайплайн от Jira-задачи до Merge Request. И это ещё не всё! Подробности о сезоне смотрите на сайте, и там же есть билеты по early-bird цене. 👉 Билеты на Podlodka iOS Crew

Собеседование: почему actor не гарантирует порядок ответов в UI? Вопрос ловит тех, кто запомнил actors как защиту от гонок, но не отделяет data race от логической гонки. Сильный ответ: actor сериализует доступ к своему изолированному состоянию. Но каждый await это точка приостановки, после нее другая задача может зайти в actor и изменить состояние. Data race не будет, зато устаревший ответ может приехать позже нового. Мини-пример:

actor ImageLoader {
    private var cache: [URL: Data] = [:]

    func data(for url: URL) async throws -> Data {
        if let cached = cache[url] { return cached }

        let (data, _) = try await URLSession.shared.data(from: url)
        cache[url] = data
        return data
    }
}
Код безопасен по памяти: словарь не мутируется из двух потоков одновременно. Но если экран запросил картинку A, потом B, ответ A может завершиться позже и перерисовать UI старым состоянием, если caller не проверяет актуальный id. На интервью хороший вывод звучит так: actor решает проблему изоляции данных, но порядок пользовательских намерений надо моделировать отдельно. Для SwiftUI это часто .task(id:), сравнение requestID перед присваиванием или cancellation старой задачи. Источник: The Swift Programming Language, Concurrency #Swift #Concurrency #Interview #iOS #Actors

Принципы разработки #mobile

Xcode 27 стал Apple silicon only
Если в команде остались Intel Mac, Xcode 27 на них уже не запустится.
Apple обновила ежедневный сценарий работы в Xcode 27. Проекты должны открываться быстрее, настройки синхронизируются через iCloud, панель инструментов можно полностью перестраивать, а темы меняют оформление всего приложения. Самое заметное ограничение: Xcode 27 поддерживает только Mac с Apple silicon. Ещё одно крупное изменение, Device Hub объединяет симуляторы и физические устройства в одном окне. Практический вывод: до обновления CI и рабочих машин проверьте архитектуру всех Mac, доступность нужных runtime и привычные сценарии управления Simulator. Бета подходит для отдельной ветки и тестового окружения, рабочую сборочную цепочку лучше не переносить вслепую. Источник: Apple Developer, Platforms State of the Union #iOS #Xcode #WWDC26 #AppleDeveloper

Interview: чем опасна actor reentrancy в Swift Concurrency? Сильный ответ: actor защищает mutable state от одновременного доступа, но после await другой вызов может зайти в тот же actor и изменить состояние. Вопрос на собеседовании обычно звучит просто: “Actor делает код thread-safe?” Ожидаемый ответ: да, но не магически для всей бизнес-логики. Actor serializes access к своему isolated state, однако Swift actors are reentrant: на suspension point actor может выполнить другую работу. Мини-ловушка: actor Counter { private var value = 0 func incrementSlowly() async { let oldValue = value await Task.yield() value = oldValue + 1 } } Если два клиента одновременно вызовут incrementSlowly(), оба могут прочитать 0 до await, а затем оба записать 1. Actor не нарушен, data race нет, но логическая инварианта потеряна. Как отвечать сильнее: не держите важный read-modify-write через await. Сначала дождитесь внешней async-работы, потом зайдите в actor и обновите state; либо перечитайте state после suspension; либо разделите метод так, чтобы инвариант обновлялся без suspension point. Источник: The Swift Programming Language / Concurrency #Swift #Concurrency #Interview #Actors #iOS

Работа с сетью #mobile

Что выведется в консоль?
Anonymous voting

photo content

Скомпилируется ли данный код? Если да, то какое значение будет у константы example2?
Anonymous voting

#квиз
#квиз

Разницу между Map, FlatMap и CompactMap в Swift. #mobile

Всем привет!😊 Нашёл интересную статью о том, как в SwiftUI с помощью .fixedSize решить задачу с карточками разной высоты. Автор показывает кейс: в горизонтальном ScrollView нужно сделать все карточки высотой как самая высокая. Обычный .frame(maxHeight: .infinity) растягивает их на весь экран, а связка .fixedSize для HStack и .frame(maxHeight: .infinity) для карточек даёт нужный результат. Главная мысль: не стоит игнорировать «странные» модификаторы SwiftUI — иногда именно они решают задачу одной строкой. Мой перевод: https://telegra.ph/Nakonec-to-ya-nashyol-kejs-dlya-fixedSize-05-14

Способы обработка ошибок в Swift #mobile

Способы обработка ошибок в Swift #mobile