iOS Dev
Open in Telegram
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
Show more7 876
Subscribers
-424 hours
+27 days
-5430 days
Posts Archive
7 876
Запуск приложения: советы по продвижению
Инди-разработчик делится своим опытом и идеями по продвижению приложения в первые дни.
Например, для пресс-релизов важно:
1️⃣ Проблема, которую нужно решить.
2️⃣ Само приложение для решения.
3️⃣ История о том, как появилась идея и как она воплотилась в жизнь.
Большой материал разделен на две части:
📖 Часть 1.
📖 Часть 2.
😃 iOS Dev
7 876
TipKit: варианты и примеры использования
✅️ Цель
TipKit — максимально упростить отображение информации, которая подчеркивает или объясняет ту или иную функцию приложения.
При реализация всплывающих подсказок нужно решить два вопроса:
1️⃣ Как их показать для всех комбинаций языков и размеров экрана.
2️⃣ Как убедиться, что они срабатывают в нужное время, чтобы не перегружать пользователей.
И как раз с этим успешно справляется TipKit.
📖 А вот тут можно посмотреть примеры использования нового фреймворка.
😃 iOS Dev7 876
Загрузка кастомных шрифтов в приложение с помощью Swift Package Plugins
🔎 Если вы создаёте свои приложения с общим стилем оформления и сталкиваетесь с проблемой использования одних и тех же шрифтов снова и снова, то одно из решений — создать собственный Swift package.
Это позволит ускорить выпуск приложений и уменьшить дублирование кода.
📖 Пример создания Swift Package с использованием SwiftGen.
Кстати, вот тут я писал о более традиционном способе работы с нестандартными шрифтами.
😃 iOS Dev
7 876
Продвинутые анимации в SwiftUI: протокол CustomAnimation
🤩 Вышла новая часть замечательной серии статей про анимацию.
В этой публикации авторы обсуждают такие темы, как типы анимаций и протокол
CustomAnimation, новые способы работы с Transactions и новые параметры.
Кроме этого, уделяется внимание PhaseAnimator и KeyframeAnimator.
📖 Десятки примеров кода и разбор параметров доступны здесь.
😃 iOS Dev7 876
Изучение Swift Concurrency за 2 часа
📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения.
А вот и сами статьи, которые Винсент использовал:
📖 Async await в Swift с примерами.
📖 Конвертация асинхронного кода в async/await в Swift.
📖 Async let: параллельный вызов async-функций.
📖 Какую роль Tasks играют в системе параллелизма Swift?
📖 Разбор Swift Tasks Groups на примере.
😃 iOS Dev
7 876
🐣 iOS 17 может сломать ваши проверки URL!
Произошли важные изменения для URL-адресов в iOS 17.
Парсинг URL был переведён с устаревшего стандарта
RFC 1738/1808 на RFC 3986 (аналогичный тому, что используется для URLComponents).
Теперь разбор URL и URLComponents унифицирован.
Если проще, теперь URL автоматически кодирует недопустимые символы и добавляет символ процента для корректного URL.
😃 iOS Dev7 876
Освоение диаграмм в SwiftUI: круговые и кольцевые диаграммы
Фреймворк
Swift Charts принёс множество опций, среди которых, например: гистограммы, графики с применением градиента и возможность даже делать свои игры.
Кроме этого, в них можно задействовать SectorMark, который можно использовать для построения круговых или кольцевых графиков.
📖 Посмотреть на примеры создания таких диаграмм можно здесь.
😃 iOS Dev7 876
Возможность юзать if и switch в качестве выражений наглядно
Такая фича для возвращаемых значений уже доступна в Swift 5.9.
📖 А вот тут можно посмотреть, какие ещё варианты возможны.
😃 iOS Dev
7 876
Как устроена система сборки в Xcode?
Многие инженеры могут недооценивать сложность таких систем в целом.
Например, нам в большинстве случаев не приходится настраивать шаги вручную.
Хотя, возможно, вы когда-нибудь пытались понять, почему система сборки Xcode жалуется на цикл компиляции или оптимизировали сборку, используя только билд-логи или Build Timelines, добавленные в Xcode 14.
📖 В этой статье можно узнать, что происходит Xcode при нажатии
⌘+R с помощью XCBuildAnalyzer.
😃 iOS Dev7 876
😍 В своём канале Лев продолжает делиться результатами большого опроса среди разработчиков.
Так вот, одним из вопросов было то, за кем вы следите в мобильном сообществе.
Во-первых, спасибо за упоминание в самом посте, это приятно 😎.
А вообще, вот пара мыслей на счёт публичного поля и небольшая история.
Недавно (примерно месяц назад) я общался с продакт-менеджером хабра на счёт формата «посты» (вкладка рядом со статьями). Суть в том, что не слишком большое количество разработчиков юзают эту опцию, и вот почему, на мой взгляд.
1️⃣ Цена ошибки велика. Рассказывая технические вещи таким же профессионалам, легко попасть не под мэйнстримное мнение и тем самым срезать себе карму/рейтинг.
2️⃣ Публичные выступления (и статьи тоже) — это затраченное время. А также умение корректно реагировать на критику, принимать конструктивные замечения и не уходить в бесконечные дебаты.
3️⃣ Не хочется быть поверхностным, если вы хотите рассказать о новинках, покажите пример. Иногда официальной доки недостаточно. И даже история неуспеха это круто.
Всех задолбали только истории побед, волков и то, как за месяц можно можно взлететь до 1ККК в секунду. Это ошибка выжившего, удачный билет в лотерею, правильная дверь в парадоксе Монти Холла, в конце-концов.
Но есть миллион примеров, когда можно оказывать пользу сообществу, не используя клише для кликбейта.
Общаясь с зарубежными специалистами, или когда стараюсь рассказать вам про необычные вещи, я не перестаю удивляться, когда узнаю, что есть опенсорсные репы с 5к звёзд, а в том же твиттере у автора условно 100 читателей.
Не это главное. Есть герои, как, например, The Eskimo! на форумах эпла, или легендарный mattt с количеством подписчиков далеко не под миллион.
Ну, и третье, если вы всё-таки дочитали до этого момента.
🎤Я — автор этого канала, Виктор Грушевский, и мы ещё встретимся с вами в новом формате, когда придёт время.
😃 iOS Dev
7 876
C чего начать изучение SwiftUI в 2023?
Как показывает практика, одна из основных сложностей для новичков в том, что брать за точку отсчёта.
Что ж, вот мои топ-3 ресурса, которые я бы рекомендовал изучать всем перед более глубоким погружением в более сложные вещи.
➡️ SwiftUI Tutorials. 4.5 часа отборных материалов от Apple, которые при тщательном изучении сформируют начальную базу.
➡️ Лекции Стенфорда. По ним учились несколько поколений разработчиков, доступная и понятная инфа. Плюс в том, что эти материалы уже содержат в себе изменения за 2023 год.
➡️ SwiftUI by Example на портале Hacking with Swift. Почти 600(!) страниц кода, решающих конкретные проблемы здесь и сейчас.
😃 iOS Dev
7 876
🤩 Ещё 3 голоса, и я показываю нереально крутую реализацию виджетов в iOS 17.
Гарантирую, что вы такого не видели!
😃 iOS Dev
7 876
Можно ли использовать код? Доступный обзор популярных лицензий
🧑💻 Лицензии зачастую содержат огромный объём текста, который не всегда возможно быстро прочесть, а некоторые важные моменты так и остаются расплывчатыми.
📖 На этом ресурсе в справочном виде можно посмотреть краткое описание лицензий в стиле: можно ли использовать код/нужно ли указывать источники и так далее.
😃 iOS Dev
7 876
Как создать App Clip для вашего приложения
App Clips по факту являются уменьшенными копиями приложений для выполнения определенных задач без необходимости загрузки приложения целиком.
Их размер не превышает 15 МБ, кроме этого они должны быть быстрыми и интуитивно понятными.
🐣 Их также можно запускать из Safari, Карт и даже Messages.
В этом материале есть руководство, как создать App Clip для своего приложения и как генерировать коды, которыми в дальнейшем можно поделиться с пользователями.
😃 iOS Dev
7 876
Container Background в iOS 17: что это и как использовать в своих проектах
В новой оси появилось понятие
Container Background, и уже сейчас это приводит к ошибкам в приложениях c использованием WidgetKit.
Например, я столкнулся с Widget needs to adopt container background, да и в целом c нежелательными поля сбоку.
Как следует из названия, этот модификатор позволяет определять фоновый вид виджета, тем самым упрощая адаптацию системы к используемому контексту.
📖 В этой статье есть объяснение, как можно адаптировать виджет, или, например, что можно сделать, чтобы система автоматически дропнула этот фон.
😃 iOS Dev7 876
🎉 Swift 5.9 уже доступен!
В мажорной версии появилась система макросов, пакеты параметров, возможность юзать
if и switch в качестве выражений для возвращаемых значений.
Но не только это.
В Swift 5.9 появились новые возможности в LLDB и компиляторе.
Команды p и po теперь выводят локальные переменные и свойства так же быстро, как команды frame variable или v.
А отладочная инфа более точно определяет границы локальных переменных.
Кроме этого, были важные улучшения и в SwiftSyntax (более подробно - тут).
📖 Официальная документация уже содержит обновления для Swift 5.9 и доступна к просмотру.
А сам компилятор Swift 5.9 уже включён в Xcode 15.
😃 iOS Dev