ch
Feedback
iOS Dev

iOS Dev

前往频道在 Telegram

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

显示更多
7 879
订阅者
+124 小时
-17
-5130
帖子存档
iOS Dev
7 878
Как использовать файлы EditorConfig в Xcode 16 🛠 Если вы работали/работаете над несколькими проектами с разным кодстайлом, то может быть такое, что приходится настраивать параметры Xcode каждый раз при переключении между проектами. А если в проекте нет линтера, который обеспечивает соблюдение стиля и вы вдруг забудете применить эти настройки, то в итоге можно легко получить непоследовательное форматирование кода во всем проекте. В Xcode 16 добавлена поддержка файлов EditorConfig, которые позволяют задавать настройки редактора Xcode для каждого проекта. 📖 В этой статье вы узнаете, как настроить файлы EditorConfig в Xcode и какие настройки поддерживаются на данный момент. ✅Больше советов по работе с инструментарием вы можете найти здесь. 😃 iOS Dev

iOS Dev
7 878
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime Декларативность, а также то, что в SwiftUI нет явно выраженн
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime Декларативность, а также то, что в SwiftUI нет явно выраженного жизненного цикла для вьюх, значительно повышает трудности при поиске утечек по сравнению с UIKit. 📖 На хабре iOS-разработчик Фарид поделился своим решением в компании для упрощения поиска проблем утечек в таких проектах. Основные блоки: 1️⃣ Рассмотрены основные подходы для поиска утечек. 2️⃣ Поиск оптимального варианта для нахождения таких проблем. 3️⃣ Поиск опций для подстраховки от утечек в будущем. 😃 iOS Dev

iOS Dev
7 878
Инструментарий. Полезные советы при работе с Xcode, терминалом и симулятором В новом разделе в Notion я добавил некоторые нео
Инструментарий. Полезные советы при работе с Xcode, терминалом и симулятором В новом разделе в Notion я добавил некоторые неочевидные советы при работе с Xcode, которые упростят и ускорят разработку (в том числе и полезные возможности при работе с симулятором от тестирования пушей и диплинков до навигации и советов при билдах). Уже сейчас в базе знаний доступно несколько важных составляющих:
Подготовка к собеседованиям: - Мок-собесы с публичным доступом (сейчас несколько десятков на русском и английском языках). - Вопросы для подготовки по секциям (сотни вопросов на разные темы) - Частные узкие темы (с поиском проблем в коде). - System Design. Мои советы и большая подборка материалов. Алгоритмы: - Сложность алгоритмов. - Разбор десятков задач с контестов (в том числе и от яндекса). - Популярные методы решения задач (с примерами). Архитектуры: - Все паттерны проектирования банды четырёх. Общая информация и примеры реализации на Swift. - Архитектурные заблуждения. - Реализация в реальных приложениях. Красим кнопки Необычные эффекты: В этом разделе я делюсь анимациями, подходами к созданию и десятками примеров. Ранний доступ к обновлениям приложения: Статья о разработке доступна в публичном доступе.
И многое другое. По мере появления свободного времени я делюсь своим опытом и стараюсь рассказать о некоторых сложных вещах. Вы можете подписаться здесь или в телеграм-боте ( ❤️). 😃 iOS Dev

iOS Dev
7 878
Зарплаты стажёров и джунов в IT На Хабр.карьере вышло новое исследование зарплат, на этот раз изучили зарплатные возможности
Зарплаты стажёров и джунов в IT На Хабр.карьере вышло новое исследование зарплат, на этот раз изучили зарплатные возможности для новичков в IT — стажеров и джунов. Главные выводы: 1️⃣ Проще попасть в IT с позиции стажера. 2️⃣ Доля вакансий с удаленкой для джунов и стажеров сейчас 60%, это на 17% больше, чем в начале 2023. 3️⃣ Больше всего начинающие IT-специалисты зарабатывают в Ozon Tech, YADRO и Холдинге Т1. 💸Эти данные основаны на реальных зарплатах, а больше про динамику на рынке можно узнать в этом посте. 😃 iOS Dev

iOS Dev
7 878
Скрытые возможности крашлогов: как читать информацию об ошибках Никто не любит краши. Бывает, что их сложно анализировать, а
Скрытые возможности крашлогов: как читать информацию об ошибках Никто не любит краши. Бывает, что их сложно анализировать, а исследование причин может отнять большое количество времени (и возможно, даже не всегда привести нас к решению). Патрик Уордл проделал огромную работу и написал статью, в которой объяснил, как упростить понимание структуры и информации из крашлогов. Он признаёт, что сам путь исследования требует глубокого понимания реверс-инжиниринга, поэтому поверхностно ещё и затронуты темы дизассемблирования и отладки на примере ARM64. Сам материал наполнен большим количеством примеров не только под iOS, но и macOS, и, даже показан баг 0day (который затрагивает даже бетки 15 макоси). 📖 Рекомендую прочитать и сохранить исследование. А если вы хотите узнать, что, например, означает EXC_BAD_ACCESS — у нас в канале уже есть и такой пост. ✅Кстати, что в ноушне есть раздел по повышению производительности приложения, информация из которого поможет уменьшить причины появления самых разных крашей. 😃 iOS Dev

iOS Dev
7 878
Как повысить видимость приложения на устройстве Читатель нашего канала прислал любопытный способ, как можно с помощью одной с
Как повысить видимость приложения на устройстве Читатель нашего канала прислал любопытный способ, как можно с помощью одной строки помочь пользователям проще найти ваше приложение на iOS. Для этого стоит воспользоваться ключом kMDItemKeywords, который не описан в документации (да и вообще там якобы только macOS) и использовать нужные вам теги. На скриншоте пример для приложения iOS IQ (попробовал замаскироваться под твиттер, чтобы заменить его более полезным контентом), обновление которого уже скоро будет доступно подписчикам. 📖 Целиком статья доступна здесь, можно посмотреть на примеры и добавить несколько 👏. 😃 iOS Dev — а вот тут я писал про способ использования для NSUserActivity

iOS Dev
7 878
Как вы считаете, будут ли заблокированы учетки Apple Developer для разработчиков из РФ и Беларуси?
Anonymous voting

iOS Dev
7 878
❗️Apple Search Ads заблокировал все рекламные инструменты и кампании для разработчиков из РФ и Беларуси Сегодня все разработч
❗️Apple Search Ads заблокировал все рекламные инструменты и кампании для разработчиков из РФ и Беларуси Сегодня все разработчики получили письмо о том, что им больше недоступны эти инструменты от Apple. Я тоже получил такое письмо утром, Apple ссылается на пункт 13, но по факту причина только одна: страна регистрации аккаунта. Боюсь предположить, что будет дальше и поменяется ли политика по выплате дохода. 😃 iOS Dev — вот такое утро

iOS Dev
7 878
Warp-эффект на metal-шейдере Возможности использования шейдеров в iOS-разработке довольно велики, но применение именно в прод-разработке не так обширно на данный момент (если речь не идёт о работе с видео или фото). Ранее я писал о том, что добавил новый раздел в iOS IQ, в котором разбираю некоторые необычные вещи, эффекты и варианты реализации с помощью возможностей системных фреймворков. 🤩 Один из таких эффектов — Warp, реализацию которого без Metal я уже применял в приложении. 🔗 Доступ, примеры и рабочий код уже доступны для всех подписчиков здесь и в бусти. 😃 iOS Dev

iOS Dev
7 878
❗️ CocoaPods прекращает активное развитие и переходит в режим поддержки Прошло уже 9 лет с момента анонса SPM (именно тогда начал замедляться рост CocoaPods). Несмотря на это, CocoaPods продолжали оставаться сверхпопулярными и востребованными среди разработчиков. ℹ️ Orta Therox написал большой пост, в частности, затрагивающий и проблемы с безопасностью, а также выпустил важный анонс, в котором сообщил о будущих планах по поддержке и обслуживанию. Теперь будет как минимум два релиза в год для поддержки изменений Xcode, будут закрывать все возможные проблемы с безопасностью и уделять внимание тем PR, которые ориентированы на будущее. Вместе с этим, больше не будет активного реагирования на проблемы индивидуальных пользователей, и будет свернуто активное развитие проекта. Кроме этого, они не могут дать гарантий, что будут рассмотрены пулреквесты, направленные только на новые фичи. 😃 iOS Dev

iOS Dev
7 878
Подборка докладов с конференции Swift Craft Swift Craft — конференция в Великобритании, которая прошла в мае, а сейчас на кан
Подборка докладов с конференции Swift Craft Swift Craft — конференция в Великобритании, которая прошла в мае, а сейчас на канале появились видео, с которыми можно ознакомиться. 📺 Управление состояниями для iOS-приложений Аракс Авоян рассказывает о функциональном управлении состояниями в приложениях для iOS. В докладе уделено внимание основам функционального программирования (и приведены практические примеры). 📺 Назад в будущее - Swift 6 Edition! Пол Пиелла Абадия подготовил этот доклад, в котором объясняет все предстоящие изменения, а также использует несколько примеров кода, чтобы лучше подготовиться к Swift 6 уже сейчас. 📺 Математик размышляет о макросах, @Models и ML Дэниел Стейнберг делится своими размышлениями, в частности, как мы решаем, чему учиться и как изучать новые вещи, анонсируемые каждый год на WWDC. 📺 Дата и время в Swift — обработка даты в программировании на Swift (будет доступно 21 августа). В этом докладе будет рассказано о взаимодействии Date с датами, календарями, форматорами, компонентами DateComponents, TimeZones и другими полезными вещами. 📖 Все доклады конференции доступны в этом плейлисте. 😃 iOS Dev

iOS Dev
7 878
Какой у вас опыт разработки (не только iOS, а в целом)?
Anonymous voting

iOS Dev
7 878
iOS IQ — что доступно уже сейчас? Со времени создания закрытой базы знаний прошло уже более полугода, и за это время я получил множество отзывов. Многие из них о полезности контента и о структуре, которой нет больше ни в одном канале (небольшая ремарка, для меня это основа, когда ты делаешь то, что тебе нравится). Большинство читателей удивлены, насколько широкие вещи затрагиваются, и, конечно, приятно получать фидбэк, в котором ребята делятся, что контент помогает со многими вещами в работе. Знаю, что некоторые используют темы для подготовки к собеседованиям с обеих сторон. Но это не главное. Как уже неоднократно писал в канале, в первую очередь, я — разработчик, и поэтому тщательно подхожу к тому, о чём пишу, и как именно это преподносится. Мне важно рассказывать о практических анимациях и о том, что по-настоящему полезно. Конечно, посты и из канала, и из бусти иногда появляются в других местах (приятно, что подписчики делятся этим). Часто посты разбавляют сомнительной рекламой или непонятными заявлениями. Ни в этом канале, ни в iOS IQ, ни в приложении такого не было, нет и не будет. Иногда меня просят отреагировать на это или публично ответить, но я считаю, что выбор, который делают эти ребята, только на их совести. Приятнее потратить доступный отрезок свободного времени на разбор фишек Xcode или разбор ещё одного шейдера. В iOS IQ сейчас вы можете:
➡️Познакомиться с решением практических задач на самые разные темы (от поиска утечек памяти до примеров работы со SwiftData). ➡️Узнать, как работать с дебаггером (про трюки с lldb, получить советы по отладке и неообычные примеры использования брейкпоинтов). ➡️Получить базу для подготовки к собеседованиям (память, чтение кода, разборы конкретных вопросов, и конечно тематические подборки). ➡️Разбор архитектурных шаблонов на реальных примерах. За основу взяты паттерны проектирования банды четырёх. ➡️Полезные вопросы с секции system design. ➡️Разбор техник для решения алгоритмов. И мой собственный набор решённых задач от яндекса.
🧠 Если вы хотите поддержать канал и прокачаться в перечисленных выше темах, подпишитесь по специальному предложению на бусти или здесь, в телеграм - этот способ предпочтительнее. 😃 iOS Dev

iOS Dev
7 878
Ещё одно приятное нововведение в Xcode 16 🚀 Теперь в ассетах можно найти все места в проекте, где используется картинка за пару мгновений. Использование: щелчок правой кнопкой мыши + Find References to Item. Легко можно найти лишние ресурсы + избежать потенциальных опечаток (ну и сэкономить немного времени). 😃 iOS Dev

iOS Dev
7 878
Как автоматически обнаруживать утечки памяти с помощью UI-тестов 📖 Пол Пиелла написал отличную развёрнутую статью о том, как можно юзать функциональность, доступную нам аж с Xcode 13 (тогда появилась опция xcodebuild, генерирующая memory graph всякий раз, когда фэйлится тест XCTMemoryMetrics). Эта фича так и осталась незамеченной многими, хотя при правильном использовании это мощнейший инструмент для обнаружения утечек памяти в приложениях. Саму статью можно разбить на несколько важных частей: 1️⃣ Написание самого теста, чекающего использование памяти. 2️⃣ Генерация memory graph. 3️⃣ Разбор результатов и анализ графа. Тут пригодится ещё один материал про разбор содержимого XCResult. ✅Напомню, что в ноушне есть целый раздел по теории и вопросы по управлению памятью (в том числе и про шаги для предотвращения утечек). 😃 iOS Dev

iOS Dev
7 878
Как решить проблему с констрэинтами или как быть с ошибками вида «will attempt to recover by breaking constraint»? Многие уже
Как решить проблему с констрэинтами или как быть с ошибками вида «will attempt to recover by breaking constraint»? Многие уже используют SwiftUI в проде или пет-проектах. Несмотря на это, UIKit никуда не уходит, а проблемы с автолэйаутом встречаются довольно часто. Хотел бы напомнить про трюк, а если быть точнее, мастхэв-навык при поиске подобных проблемных вьюх с помощью стандартных инструментов Xcode. Если вы встретите такую ошибку (или её вариации): Will attempt to recover by breaking constraint <NSLayoutConstraint:0xb82d450 H:[UIButton:0xb82ad50]-(NSSpace(20))-| (Names: '|':UIView:0xb82f360 )> Запустите View Debugger и вставьте айдишник проблемной вьюхи в поле поиска слева внизу. Xcode автоматически подсветит её и уже после вы спокойно сможете устранить эту проблему. ⭐️ А ещё есть полезнейший сайт, который часто может помочь в таких ситуациях. ⭐️Кстати, в базе знаний я делюсь своим опытом, и стараюсь наполнять разные разделы, один из которых — разбор различных проблем в разработке. 😃 iOS Dev

iOS Dev
7 878
Swift Navigation: инструменты навигации от PointFree PointFree выкатили в опенсорс либу Swift Navigation — набор мощных инстр
Swift Navigation: инструменты навигации от PointFree PointFree выкатили в опенсорс либу Swift Navigation — набор мощных инструментов для всех платформ Swift (в качестве вдохновения использовались принципы SwiftUI). С помощью библиотеки можно управлять навигацией в SwiftUI, UIKit и AppKit. Более того, её можно использовать и для платформ, отличных от Apple, таких как Windows, Linux, Wasm и т.д.. 🛠 Инструментарий уже доступен на GitHub (1 800 ⭐) Примеры работы доступны здесь: 📖 Case Studies — коллекция примеров SwiftUI и UIKit, демонстрирующих API этой библиотеки. 📖 Inventory — многоэкранное приложение со списками, всплывающими окнами и алертами. 😃 iOS Dev

iOS Dev
7 878
🧠 Массивы в Swift: вопросы и техники В iOS IQ добавлен новый раздел с практическими вопросами по работе с массивами. Не всег
🧠 Массивы в Swift: вопросы и техники В iOS IQ добавлен новый раздел с практическими вопросами по работе с массивами. Не всегда операции над ними очевидны, а некоторые могут вызвать сложности даже у продвинутых разработчиков.
Кроме этого, в отдельной секции внутри уникальной базы знаний уже сегодня доступны: ➡️Вопросы на чтение кода ➡️Многопоточность ➡️DispatchQueue: практические вопросы ➡️Swift Concurrency ➡️Алгоритмы: терминология и примеры ➡️Память: ARC, side table, флаги, утечки Также вы получите доступ в закрытый чат, ранние релизы приложения iOS IQ, тонну теории, разбор крутых эффектов и многое другое.
Подпишитесь сегодня на бусти или через телеграм (в свете последних изменений я бы рекомендовал именно этот способ). 😃 iOS Dev

iOS Dev
7 878
Барбара Лисков — об абстракции данных и ООП Барбара — профессор MIT, автор языков Клу и Argus, лауреат премии Тьюринга, и вы все наверняка её знаете из-за изучения SOLID. Рекомендую посмотреть интересное видео, в котором Барбара отвечает на необычные вопросы не только о прошлом, но и о будущем ООП. А ещё затрагивает технические нюансы принципа подстановки Лисков в контексте SOLID. 🤩 Ведь как известно, лучше всего — получать ответы на свои вопросы из первоисточников. 😃 iOS Dev

iOS Dev
7 878
🥳 Создание файла из кода в буфере обмена в Xcode 16 Одна из наиболее приятных (если не топовых) фич в новом Xcode — новая возможность рефакторинга (и не только). Например, можно буквально за пару секунд скопировать любой кусок кода и создать из этого файл с помощью хоткея для вставки. При этом Xcode ещё и сам подберёт и задаст подходящее название (например, как на гифке). 😃 iOS Dev