ar
Feedback
iOS Dev

iOS Dev

الذهاب إلى القناة على Telegram

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

إظهار المزيد
7 876
المشتركون
-424 ساعات
+27 أيام
-5430 أيام
أرشيف المشاركات
iOS Dev
7 876
Как проверить, нужно ли вам указывать причину для использования UserDefaults (и не только) Осень уже скоро, а вместе с ней и новые требования к API, используемых в проектах. Для privacy manifest (больше на wwdc notes) потребуется вносить инфу, с какой целью используется некоторые категории фреймворков. 📖 Для поиска таких API Марко Эйдингер написал скрипт, но рекомендует для начала вынести результаты в текстовый файл. 😃 iOS Dev

iOS Dev
7 876
Поиск неиспользуемого кода с помощью Periphery Принцип работы этого инструмента в следующем. Сначала собирается проект, затем
Поиск неиспользуемого кода с помощью Periphery Принцип работы этого инструмента в следующем. Сначала собирается проект, затем для каждого файла с исходным кодом Periphery строит свое внутреннее графовое представление проекта. И уже после завершения индексации анализируется граф для выявления неиспользуемого кода. В долгосрочной перспективе использование Peiphery позволит тратить меньше времени на компиляцию (что логично, меньше кода) и избавит от лишнего шума в кодовой базе. 📖 Пример использования Periphery. 🛠 Ссылка на сам инструмент на Github. 😃 iOS Dev

iOS Dev
7 876
🚀 TradingView ищет iOS Tech Lead. Современный стек и подходы UIKit, SwiftUI, Combine, async-await, iOS 15+ Комфортное место работы Удаленка или офис в Тбилиси, Санкт-Петербурге и Ростове-на-Дону, а также помощь с релокейтом Крутой международный продукт Top-1 по доходу в категории финансовых приложений. Мобильная аудитория – 10 млн. MAU. Наши решения используют Чикагская и Бразильская биржи, S&P Global, Forbes, Revolut, Interactive Brokers, Тинькофф, БКС, Открытие, Twitter. Как откликнуться? 🏃‍♂️ Пиши @janemanolis, если обладаешь сильными навыками проектирования и глубоким пониманием iOS платформы. 👉Подробнее в вакансии

iOS Dev
7 876
Улучшение времени сборки приложений и SPM-пакетов Прежде, чем приступать к подобным оптимизациям, важно определить цели. Напр
Улучшение времени сборки приложений и SPM-пакетов Прежде, чем приступать к подобным оптимизациям, важно определить цели. Например, что мы хотим улучшить, только ли «чистые билды» или же инкрементальные сборки. Timing Summary и Recent Build TimeLine — важнейшие инструменты в Xcode для измерения времени компиляции. Кроме этого, можно использовать флаги для вывода предупреждений в тех местах, компиляция которых занимает больше, чем хотелось бы: -Xfrontend -warn-long-function-bodies=<milliseconds> -Xfrontend -warn-long-expression-type-checking=<milliseconds> 📖 В этом исследовании можно посмотреть, что возможно ускорить и какие именно настройки в Xcode могут нам в этом помочь. 😃 iOS Dev

iOS Dev
7 876
Загляните в канал Романа, который прошел путь от iOS разработчика до топ-менеджера международной компании. Автор пишет о создании пет-проектов, управлении командой, iOS разработке, переходе из инженера в менеджеры. Интересные статьи: Хайп на алгоритмах Поиск ниши для приложения Как развить критический взгляд IT это легко или сложно? 👉Подробнее в канале iOS Enjoyer

iOS Dev
7 876
Исследование MeasurementFormatter и пример его применения Иногда из-за разниц подходов к измерениям в метрической и, например
Исследование MeasurementFormatter и пример его применения Иногда из-за разниц подходов к измерениям в метрической и, например, американской системах код может выглядеть не очень приятно. Тогда на помощь может прийти MeasurementFormatter. 📖 Вот тут есть хорошее объяснение, когда его лучше использовать, и приводится пример для разных локалей. 😃 iOS Dev

iOS Dev
7 876
Одно из моих любимых приложений, которое я поддерживаю продолжительное время (уже более трёх лет) — трекер сбережений/долгов/
Одно из моих любимых приложений, которое я поддерживаю продолжительное время (уже более трёх лет) — трекер сбережений/долгов/целей. Раз за разом я стараюсь прокачивать его, используя фишки Apple. Иногда это виджеты, иногда — приложение для часов. Помню, как запилил туда кросс-интеграцию европейских банков для сверки курсов (и авто-конвертации валют в выбранную). Так вот, сегодня один из тех дней, когда я выкатил большое масштабное обновление на ProductHunt. 👍 И рассчитываю на вашу поддержку там (комментарий или просто upvote было бы очень круто). ➡️ Помочь своим голосом можно здесь. 😃 iOS Dev

iOS Dev
7 876
Настройка iOS-приложения для поддержки push-уведомлений Добавление возможности работы с пушами в iOS достаточно сложный проце
Настройка iOS-приложения для поддержки push-уведомлений Добавление возможности работы с пушами в iOS достаточно сложный процесс, включающий в себя несколько этапов. ⏩ С опытом, конечно, всё станет проще, но если вы делаете это в первый раз, то будет полезно посмотреть несложную инструкцию. 📖 В этой статье описаны необходимые настройки и пример использования новой Push Notification Console. 😃 iOS Dev

iOS Dev
7 876
Ошибки, которых следует избегать при внедрении TipKit в приложение ➡️ Новый фреймворк — отличный помощник для выделения интер
Ошибки, которых следует избегать при внедрении TipKit в приложение Новый фреймворк — отличный помощник для выделения интересных или пока неиспользуемых пользователями фич. Его просто добавить, управлять и в целом использовать в своих проектах. Несмотря на это, во всём нужно знать меру. 📖 В этом материале разбираются ошибки, которые можно допустить при работе с TipKit. @iOS Dev

iOS Dev
7 876
Так когда всё-таки действительно нужно использовать [weak self]? Чтобы ответить на этот вопрос, в любом случае необходимы при
Так когда всё-таки действительно нужно использовать [weak self]? Чтобы ответить на этот вопрос, в любом случае необходимы примеры, но, как обычно в нашей разработке, it depends. Например, последние версии Swift заставили посмотреть на использование под иным углом. 📖 В своём материале Винсент приводит несколько примеров, и объясняет, когда [weak self] необходим, и когда это излишне, как, например, в случае с .map(). 📖 Кстати, вот тут можно узнать, какие из сценариев могут привести к утечкам памяти. @iOS Dev

iOS Dev
7 876
5 шагов для поиска медленного кода с Xcode Time Profiler При старте использования Time Profiler он может казаться перегруженн
5 шагов для поиска медленного кода с Xcode Time Profiler При старте использования Time Profiler он может казаться перегруженным из-за огромного количества данных. 😎 Один из подходов — использовать пять простых шагов для выявления «узких мест» в коде. 📖 В этом материале на примере описаны этапы, которые можно использовать для поиска проблем в приложении. @iOS Dev

iOS Dev
7 876
Экскурсия по Xcode Debug Console: описание всех параметров Все мы знаем, что отладочная консоль Xcode позволяет искать пробле
Экскурсия по Xcode Debug Console: описание всех параметров Все мы знаем, что отладочная консоль Xcode позволяет искать проблемы в приложениях. ⭐️ В Xcode 15 появилась новая версия консоли с улучшенными возможностями журналирования. Каждый лог-левел будет отображаться разным цветом, а расширенные фильтры позволят показать только нужное. 📖 Вот тут есть хороший разбор новых возможностей для просмотра метаданных и фильтрации. @iOS Dev

iOS Dev
7 876
Важное обновление Xcode 15 beta 6: можно комментировать код даже на одной строке! 🥳 Фича, которую так или иначе многие пытались использовать во многих версиях Xcode, наконец реализована! Теперь можно комментить код даже на одной строке (например, тестовые параметры или что-то в перечислениях). Пока что только в бете. @iOS Dev

iOS Dev
7 876
Как реализовать обновление ассетов в приложении в реальном времени Во многих приложениях требуются вещи, доступные для измене
Как реализовать обновление ассетов в приложении в реальном времени Во многих приложениях требуются вещи, доступные для изменения без создания новой сборки: 🔘 Конфигурации для экспериментальных функций. 🔘 Ссылки, например, на политику конфиденциальности и т.д., которые нужно менять из-за обновления домена. 🔘 Небольшие сниппеты Javascript для определённой логики (такой подход использует New York Times). 📖 В этом материале Кшиштоф Заблоцки рассказывает о требованиях, возможных конфигах и подходе к реализации такой логики. ⭐️ Внимание, такой контент обычно платный, но сейчас Кшиштоф решил выложить материал в открытый доступ, поэтому я и публикую его в нашем канале. @iOS Dev

iOS Dev
7 876
Почему вы должны использовать OSLog в 2023 Xcode 15 (пока что ещё бета) поддерживает структурированное логирование в консоли.
Почему вы должны использовать OSLog в 2023 Xcode 15 (пока что ещё бета) поддерживает структурированное логирование в консоли. 🟡🔴Теперь добавлена подсистема фильтров, и даже появилась возможность выделять предупреждения желтым цветом, а ошибки — красным. Важно учитывать, обратите внимание, что такое логирование будет работать только для iOS 17, а на 16 оси логи будут отображаться так же, как и при использовании print. 📖 Вот тут можно увидеть больше примеров использования и возможность использования extension для такого логирования. @iOS Dev

iOS Dev
7 876
Реализация анимированного фона с цветным градиентом в SwiftUI Анимация c использованием градиентного фона может сделать ваше
Реализация анимированного фона с цветным градиентом в SwiftUI Анимация c использованием градиентного фона может сделать ваше приложение более динамичным (и интересным). Один из способов достижения этого эффекта — использование AngularGradient. Но при реализации важно поддерживать баланс между приятной анимацией и той, которая может отвлечь. В этой серии статей можно познакомиться с различными способами добавления градиента в ваше приложение: 📖 Линейный градиент. 📖 AngularGradient (или же конический градиент) в SwiftUI. 📖 Радиальный градиент. 📖 Реализация анимированного фона. Пример приложения на Github доступен здесь. @iOS Dev

iOS Dev
7 876
Справочное руководство по использованию SF-символов 😎 SF Symbols позволяют отображать огромное количество иконок в наших при
Справочное руководство по использованию SF-символов 😎 SF Symbols позволяют отображать огромное количество иконок в наших приложениях, и с каждым годом их становится всё больше. Кроме этого, расширяются и возможности работы с ними: заполнение по слоям, управление цветами и возможность добавления анимаций, а также, например, использование их в меню. 📖 В этой статье можно больше узнать о возможностях использования символов в проектах. @iOS Dev

iOS Dev
7 876
Xcode Bookmarks: создание закладок в коде и организация задач Закладки в Xcode — новая фича, чтобы быстро перемещаться между
Xcode Bookmarks: создание закладок в коде и организация задач Закладки в Xcode — новая фича, чтобы быстро перемещаться между важными участками кода (и не только). Их можно группировать, использовать для поисковых запросов и даже запилить собственный TODO-лист. 🧑‍💻 С помощью быстрых действий для создания понадобится пара секунд и комбинация: Shift ⇧ + Command ⌘ + A. 📖 А вот тут можно прочесть об этих и других сценариях использования. @iOS Dev

iOS Dev
7 876
Swift Charts и реализация скролла на графиках ⭐️ Одна из долгожданных функций — возможность скроллить графики. Эта функция на
Swift Charts и реализация скролла на графиках ⭐️ Одна из долгожданных функций — возможность скроллить графики. Эта функция наконец была реализована в последней версии Swift Charts (спойлер: нужно юзать chartScrollableAxes). 📖 В этом материале можно узнать о тонкостях реализации и возможностях настройки. @iOS Dev

iOS Dev
7 876
Повторение эффекта анимации NameDrop с использованием Metal and Swift Shader 🤩 Пожалуй, это самая эффектная анимация в iOS 17. И ранее я уже приводил пример реализации в нашем канале. 📖 В этом же решении автор использовал комбинацию Metal и Swift Shader (доступно на github). @iOS Dev