ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

iOS Dev

iOS Dev

Открыть в Telegram

👨‍💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift

Больше
7 942
Подписчики
-324 часа
+137 дней
+4330 дней
Архив постов
iOS Dev
7 942
Собираем краши в iOS 27 c помощью CrashReportExtension С помощью нового фреймворка можно анализировать и безопасно отправлять
Собираем краши в iOS 27 c помощью CrashReportExtension С помощью нового фреймворка можно анализировать и безопасно отправлять отчеты прямиком на свой бэкенд, не привязываясь к сторонним SDK. Для этого нужно создать отдельное расширение CrashReporterExtension. Кстати, его особенность в том, что оно запускается в отдельном изолированном процессе, полностью независимо от нашей крашнутой приложухи. Когда приложение упадёт, система автоматически вызовет наше расширение и передаст ему метод processCrashReport. В коде это выглядит так:
@main struct MyCrashExtension: CrashReporterExtension { func processCrashReport(process: CrashedProcess) { // Получаем доступ к данным упавшего процесса let corpsePort = process.corpsePort let images = process.binaryImages // 1. Формируем свой краш-репорт // 2. Сохраняем на диск или шлем на сервер } }
Через CrashedProcess можно получить corpsePort и доступ к загруженным бинарникам, на основе чего уже можно сформировать дамп для отладки. Хотя подавляющее большинство юзает Firebase или Sentry, ещё одна альтернатива нам не помешает. ➡️ Список всех новых фреймворков iOS 27. 😃 iOS Dev

iOS Dev
7 942

iOS Dev
7 942
Master of puppets В детстве у моих одноклассников частенько можно было встретить рюкзаки с металликой, а у части были с надпи
+5
Master of puppets В детстве у моих одноклассников частенько можно было встретить рюкзаки с металликой, а у части были с надписью ГрОб (но это другая история). Так вот, тогда металлика казалась чем-то с другой планеты, ну как супергерои, которых не существует или звезды, которых никогда не достичь. Но пару десятков лет спустя я рад, что появляются возможности оказаться где-то рядом. Вчера посетил первый из двух закрывающих концертов M72. И черт возьми, всем бы столько сил, как у Хэтфилда в его 60+. Интересно, что на одну из песен со всей этой движухой с ии можно взглянуть и по-другому. Можно ли назвать человека, который использует десятки агентов, master of puppets? Думаем. 😃 iOS Dev

iOS Dev
7 942
Акторы в Swift - примеры использования и подводные камни Акторы обеспечивают выполнение кода в определенном потоке. Введенные
Акторы в Swift - примеры использования и подводные камни Акторы обеспечивают выполнение кода в определенном потоке. Введенные в Swift 5.5, акторы помогают нам писать потокобезопасный, и что не менее важно, предсказуемый код при работе с асинхронными задачами. Про ряд экспериментов с акторами и ловушки, которые могут предостерегать даже опытных разработчиков, можно почитать в этом посте. А в развёрнутой статье на бусти аккумулировал огромное количество тонкостей, в частности: что такое actor, как работает изоляция, почему await внутри актора может быть опаснее, чем кажется, да и вообще что изменилось в Swift 6.x и Swift 6.4. Весь код, все примеры и многое другое: 💰 На бусти и ⭐️ в телеграме.
🧠 Что вы получите ещё, подписавшись: ➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы) ➡️Вопросы на чтение кода (несколько уровней: простых, посложнее) ➡️Многопоточность ➡️DispatchQueue: практические вопросы ➡️Swift Concurrency ➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач) ➡️Память: ARC, side table, флаги, утечки ➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS ➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом) ➡️Утечки памяти в Swift: что с ними делать, как предотвратить? ➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
В трибьюте и бусти действует шикарное вводное предложение. 😃 iOS Dev

iOS Dev
7 942
Memberwise Initializer в Swift 6.4 на примерах В отличие от дефолтного, структура получает покомпонентный инициализатор, даже если она имеет свойства, не имеющие значений по умолчанию. Но До Swift 6.4 приватные хранимые свойства со значениями по умолчанию мягко говоря были неудобными, так как вот такая история была бы невалидна:
struct Article { let title: String let url: URL private var readCount: Int = 0 } // You would expect this to work, but it does not before Swift 6.4: let article = Article( title: "Memberwise Initializers in Swift", url: URL(string: "https://www.avanderlee.com")! )
📖 В этой статье разбирается, что изменилось в Swift 6.4 благодаря SE-0502. А множество других подводных камней разбиралось в статье из вот этого поста. 😃 iOS Dev

iOS Dev
7 942
😆 Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов Автор Caveman заметил, что значительная
😆 Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов Автор Caveman заметил, что значительная часть бюджета расходуется на болтовню языковых моделей. Его инструмент удаляет слова-связки, приветствия и просто вводный текст, сохраняя при этом сам код. Кстати, в репу кейвмана коммитил и техдир Open AI. Мне кажется, что это безумно смешно. Пока все ждут возвращения Fable для всех, настоящий изумруд не за горами в виде какой-нибудь модели AI «Питекантроп». И тогда надо делать опрос, не в какой компании быстрее деградирует iOS-разработчик, а и использованием какого ИИ. Так и представляю общение через этот чат-бот в стиле бунга-вунга. 😃 iOS Dev

iOS Dev
7 942
SwiftOS - экспериментальный проект по созданию настоящей операционной системы с помощью embedded Swift Её автор, Андрей Сапунов, вместо того чтобы изучать концепции операционных систем только по книгам, решил, почему бы не создать собственную систему, чтобы разобраться, как взаимодействуют ядро, память и процессы. 🛠 Необычная история как минимум, код можно посмотреть на GitHub, а доки вот тут. 😃 iOS Dev

iOS Dev
7 942
🙆 В iOS 27 появился Recovery Mode Если при включении iPhone продолжить удерживать кнопку питания, появятся опции восстановле
🙆 В iOS 27 появился Recovery Mode Если при включении iPhone продолжить удерживать кнопку питания, появятся опции восстановления: 🔘 Recovery Assistant 🔘 Software Update 🔘 Diagnostics Mode 🔘 Erase All Content and Settings 🔘 Recovery Mode via Mac Один из сценариев, когда нам может пригодиться эта фича, если в процессе обновления в девайсе разрядится аккумулятор, например. 😃 iOS Dev

iOS Dev
7 942
Review Buddy - добавил полноценную мак-версию, ускорил краулер и кое-что ещё Топ-фича с переключением аппстора для того, чтобы узнать есть ли приложение где-то, кроме России, всё также доступна, даже если вы видите алерт - так нужно) Более того, она не теряет актуальности в связи с удалением приложений. Наконец перешёл на платную версию клаудфлейра и вместо 14 часов теперь полноценный снэпшот чартов делается примерно за три с половиной часа (может это не так быстро, но вообще-то не так и плохо!). Ещё докрутил скраппер, чтобы полноценно срезать оценки по кастомным сторам (с разбивкой не только по среднему, но и по конкретному количеству оценок). Как и прежде, из коробки доступно вообще всё, кроме пушей для одного избранного приложения. В расширенной версии есть пуши с новыми отзывами и смещением позиций (и бонусом ещё сравнение с компетиторами). 🏠 Скачать можно в App Store 😃 iOS Dev

iOS Dev
7 942
Зона интересов Печально, когда мобильные разработчики с ненулевой аудиторией оправдывают блокировки приложений. Когда верят что отсутствие конкуренции - это логичный шаг к цифровому суверенитету. Когда призывают к тому, что отключение оплаты в App Store - это путь к светлому и синтезированному, стерильному и такому радостному интернету. Когда костыли из сервисов для открытия заблокированных приложений считаются нормой. Когда мы должны объяснять старшему поколению что такое прокси, и почему внезапно они до нас не могут дозвониться. 2026 год за окном, интернет это буквально базовая необходимость. Но я понимаю, какая зона интересов у таких псевдоблогеров. Да и все мы понимаем. 😃 iOS Dev

iOS Dev
7 942

iOS Dev
7 942
⚡️ Приложения VK удалили из российского AppStore Пока что пропали Музыка, Мессенджер, Видео и Дзен. 😃 iOS Dev

iOS Dev
7 942
Три обязательных требования в iOS 27, о которых нужно не забыть к осени 1️⃣ Приложения будут обязаны внедрить жизненный цикл на основе сцен. Как мигрировать - писал здесь. 2️⃣ Флаг игнора диза жидкого стекла больше не сработает. Многое может сломаться, поэтому если не начинали адоптить, давно пора. 3️⃣ Новое обязательное требование для лончскрина (чтобы не словить реджект ITMS-90870). Начиная с версий iOS 27 и iPadOS 27 в файле Info.plist вашего приложения должен быть указан конфиг лончскрина. Если в вашем приложении уже есть экран запуска, вам не нужно вносить никаких изменений. 📜 Сохраните себе, чтобы не забыть. 😃 iOS Dev

iOS Dev
7 942
Как экспортировать все скиллы из Xcode 27 Хотя в Apple добавили поддержку многих сторонних интеграций, они все прекрасно пони
Как экспортировать все скиллы из Xcode 27 Хотя в Apple добавили поддержку многих сторонних интеграций, они все прекрасно понимают, в частности то, чем сейчас пользуются многие разработчики. Поэтому для тех, кто использует альтернативные решения, появилась новая опция:
xcrun agent skills export
На сегодняшний день можно перенести следующее:
✓ swiftui-whats-new-27 ✓ test-modernizer ✓ device-interaction ✓ swiftui-specialist ✓ c-bounds-safety ✓ audit-xcode-security-settings ✓ uikit-app-modernization
😃 iOS Dev

iOS Dev
7 942
Apple начали реджектить приложения за запросы отзывов на онбординге Хотя это не новый гайдлайн, раньше эплы так не жестили. Н
Apple начали реджектить приложения за запросы отзывов на онбординге Хотя это не новый гайдлайн, раньше эплы так не жестили. Некоторые приложения собирали тысячи пятизвёздочных оценок ещё до первого действия юзера, но сейчас все больше сообщений о том, что за такое прилетают реджекты. 📖 Статья на RevenueCat это подтверждает. 😃 iOS Dev

iOS Dev
7 942
Что нового в SwiftData в iOS 27 В iOS 27 Apple устранила многие старые проблемы с помощью добавления поддержки enum-предикато
Что нового в SwiftData в iOS 27 В iOS 27 Apple устранила многие старые проблемы с помощью добавления поддержки enum-предикатов (и составных предикатов тоже), нового атрибута .codable и ResultsObserver. Каждая из этих функций по отдельности решает конкретную задачу. В совокупности они делают SwiftData более функциональным и удобным для использования в реальных приложениях. 📖 В этом блоге разобрали новинки на примерах: 🔘 Предикаты с перечислениями 🔘 Группировка данных по секциям 🔘 Составные запросы 🔘 Атрибут .codable 🔘 ResultsObserver для обсервинга данных за пределами вьюх А более общий обзор по всем новинкам с WWDC есть вот тут. 😃 iOS Dev

iOS Dev
7 942
Here we go! Прямо сейчас идёт ЧМ по футболу, и я задумался, а что если бы переходы разработчиков из одной компании в другую были бы в стиле футбольных трансферов? Представьте, что можно абсолютно открыто смотреть трансферную стоимость разработчика (не путайте только с зарплатой) на каком-нибудь iosmarkt и типа два раза в год абсолютно в открытую следить за какой-нибудь эпопеей по переходу рокстара из одного бигтеха в другой. А у разработчиков были бы свои агенты, которые защищали бы их интересны на эйчарных переговорах, и среди них тоже были бы свои звёзды. А ещё в контракте прописывали бы премии за ачивки в стиле: если команда делает 10 топовых релизов, то +2 годовых оклада в конце года каждому в тиме. Да просто задумайтесь)
«Сеньор бэкендер Алексей Иванов в Telegram — HERE WE GO! Согласован контракт на 4 года. Сумма компенсации за досрочный разрыв с VK составила $5 млн. Осталось только пройти алгоритмический медосмотр!»
Скауты были бы на хакатонах или на олимпиадах по программированию. Ещё бы и свой Золотой мяч вручали в конце года лучщим (золотой magic mouse, например). А ещё можно было бы на примере какого-нибудь бигтеха запилить целые чемпы:
ФК «Яндекс Поиск»: Бешеный темп, игра на высоких скоростях, огромные нагрузки (высокий нагрузочный продакшн). Если игрок «поплыл» и перестал вывозить тайм-критикал задачи, его не продают, а отправляют во внутреннюю аренду вроде Яндекс.Еды.
Ставьте 🔥, если норм идея.

iOS Dev
7 942
🥳 В 27 Xcode появилась опция для симуляции лимита при использовании моделей Особенно актуально при использовании Private Clo
🥳 В 27 Xcode появилась опция для симуляции лимита при использовании моделей Особенно актуально при использовании Private Cloud Compute в будущем. 😃 iOS Dev

iOS Dev
7 942

iOS Dev
7 942
Все новинки WWDC26 - обзорная статья уже доступна Постарался объединить все самое важное за прошедшие дни конфы в удобно форм
Все новинки WWDC26 - обзорная статья уже доступна Постарался объединить все самое важное за прошедшие дни конфы в удобно формате. 1️⃣ Лучшие и самые интересные фичи 2️⃣ Обзор Keynote 3️⃣ Что нового в Swift 6.4 (а ещё про интероп с c). 4️⃣ SwiftUI: контейнеры, документы и тулбары 5️⃣ Foundation Models & новый Core AI 6️⃣ Xcode 27 и Agent Skills 7️⃣ Сессии, рекомендуемые к просмотру ✅ Бонусный контент с десятками примеров кода доступен тут и тут. 😃 iOS Dev