iOS Dev
Kanalga Telegram’da o‘tish
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
Ko'proq ko'rsatish8 002
Obunachilar
+424 soatlar
+477 kunlar
+8230 kunlar
Postlar arxiv
8 002
Искусство работы с Corner Radius: пара трюков и хитростей
ℹ️ Работа со скруглениями едва ли не самая распространенная штука при работе над дизайном приложений.
Базовых скруглений легко добиться, но при работе с несколькими составляющими могут возникнуть трудности.
📖 В этой статье David Yang делится некоторыми несложными шагами при работе с таким дизайном.
😃 iOS Dev
8 002
От viewWillAppear к viewIsAppearing: адаптация пользовательского интерфейса
На WWDC23 Apple представила важное дополнение к жизненному циклу UIViewController:
viewIsAppearing.
По факту это революционное решение помогает создавать более отзывчивые и динамичные интерфейсы.
📖 На этих несложных примерах можно понять, почему этот момент стратегически важен, и как именно можно использовать его в приложениях.
😃 iOS Dev8 002
Pow - библиотека для создания эффектов в iOS-приложениях теперь в открытом доступе
Moving Parts совместно с Emergetools (создателями и других крутых продуктов) приняли решение открыть исходный код библиотеки эффектов Pow.
🤩 К слову, уже 2 100 звёзд на GitHub.
🛠 Посмотреть на доступные эффекты и примеры использования в проектах можно здесь.
😃 iOS Dev
8 002
Formatters в Swift: их больше, чем вы думаете!
Если у вас есть небольшой опыт работы с iOS, то вы наверняка использовали и
DateFormatter, и NumberFormatter.
Но пул форматтеров намного шире. Например, при работе с файлами (особенно, когда требуется красиво показать размер) сложно обойтись без ByteCountFormatter
📖 А в этом материале Винсент делится и другими видами, которые могут пригодиться в нашей работе.
😃 iOS Dev8 002
Шаринг токенов между iOS/macOS/watchOS с помощью iCloud Keychain
Конечно, для этого нужно включить саму опцию
Keychain Sharing, при этом не забыв о важности одной и той же Keychain Group.
📖 А вот тут можно узнать о дополнительных шагах в коде и необходимости дополнительных ключей kSecAttrAccessGroup и kSecAttrSynchronizable.
Кстати, в канале есть пост и о способах обмена данными между своими приложениями.
😃 iOS Dev8 002
Оператор guard в Swift, примеры кода и варианты использования
При написании кода мы постоянно задаем различные условия, необходимые для продолжения работы того или иного метода.
⭐️ Необходимыми условиями могут быть либо булево значение (и проверка его на
true), либо работа с опциональными значениями (они не должны быть nil).
И конечно, для этого нам всегда поможет guard, однако у нас в арсенале существует и if let.
📖 В этой статье разбираются такие ситуации и даётся ответ, когда без guard не обойтись.
Кстати, в обновлении телеги появились кастомные реакции у канала, и если вы хотите увидеть какие-то необычные, то вы знаете, как помочь.
😃 iOS Dev8 002
Импорт макросов Swift без использования Swift Package Manager
➡️ Макросы Swift, которые появились в Swift 5.9 — отличный способ сократить количество бойлерплейт-кода.
В подавляющем большинстве случаев для поддержки макросов используется SPM, но существуют и другие сценарии.
Например, когда макросы требуются в либах CocoaPods или нужно обфусцировать сорсы приложения (хотя это бывает редко).
📖 Как раз для таких случаев существует опция импорта макросов в проект Xcode в виде бинарника.
😃 iOS Dev
8 002
Работа с UIGestureRecognizer: создание, обработка состояний и работа с несколькими одновременно
🗒 Обработка жестов в приложениях на iOS — важнейшая часть разработки.
Касания, повороты или вращения, безусловно, предоставляют важнейший опыт взаимодействия с нашими продуктами для пользователей.
Конечно, иногда нам достаточно только нажатий кнопок (без каких-то размышлений, что распознавать и без учета потенциальных конфликтов).
Но для всех сколь угодно сложных случаев (которых у нас обычно 99% при реализации) поможет
UIGestureRecognizer.
📖 В этом вводном материале можно познакомиться с наиболее частыми ситуациями, касающихся (как вам такая игра слов) обработки жестов пользователей.
😃 iOS Dev8 002
Использование фреймворка AppIntents: создание первого шортката
В iOS 16 был добавлен фреймворк
AppIntents, позволяющий нам интегрировать app actions в систему (например, в Shortcuts, Siri и Spotlight).
Одно из преимуществ использования AppIntents — простота создания прототипов.
📖 В этой статье разработчик делится своим опытом и рассказывает, как создать app action для приложения Shortcuts.
😃 iOS Dev8 002
Отслеживание изменений данных в SwiftData с помощью Persistent History Tracking
Мы можем использовать эту возможность для реагирования на изменения (в том числе, например, и в виджетах в той же
App Group) и задач пакетной обработки.
ℹ️ Уведомления о подписке и объединение транзакций будут автоматически обрабатываться SwiftData.
Но в некоторых случаях может пригодиться ручная обработка для большей гибкости.
📖 В этой статье на примерах объяснено, как наблюдать за нужными изменениями данных с помощью Persistent History Tracking в SwiftData.
➡️ Кстати, ранее я делился масштабным материалом по работе со SwiftData и некоторыми вопросами по использованию.
😃 iOS Dev8 002
На связи Podlodka iOS Crew — онлайн-конференция для мобильных разработчиков
🤔 Развитие в IT порой напоминает блуждание по лабиринту. Куда свернуть, какой путь выбрать? C джунами всё понятно — нужно растить грейд до middle и senior, но что делать дальше?
📈 Как правильно выстроить карьеру iOS-разработчика — вот основная тема нового сезона, который стартует 27 ноября.
В этот раз нас ждут важные поинты про эволюцию iOS-программиста.
Спикеры из крупных компаний уделят внимание трём китам развития — опыту, навыкам и практике:
1️⃣ Помогут составить карьерный роадмап — найти точки роста, источники вдохновения, преодолеть ментальные барьеры.
2️⃣ Объяснят, как привести pet-проект к результату в 10к пользователей в месяц.
3️⃣ Обсудят, как работать в зарубежных компаниях в разных частях мира на круглом столе.
🎁 Бонус: новый формат Podlodka Lightning Talks. Это короткие авторские видео от экспертов iOS-разработки о hard и soft-навыках.
🤑 Кстати, делюсь промокодом на скидку 500 руб: iOSDev (могут применить только читатели нашего канала).
📖 Вы ещё можете успеть приобрести свой билет на сайте: https://podlodka.io/ioscrew
😃 iOS Dev
8 002
Реализация перетаскивания ячеек с помощью lazy grids и stacks
Автор взял за основу этот вариант и добавил возможность кастомного превью.
📖 Целиком решение с кодом можно посмотреть вот в этом посте.
🧑💻 А в нашем канале можно прочитать о решении такой задачи в UIKit.
😃 iOS Dev
8 002
Работа в Swift с UIViewRepresentable (как избежать лишних warnings и зацикливания)
При работе со SwiftUI иногда (ладно, на самом деле куда чаще) необходима поддержка
UIKit, используя UIViewRepresentable, NSViewRepresentable или UIViewControllerRepresentable.
Документация по этим протоколам все еще довольно скудна, и заставить всё это работать бывает непросто).
👩🎓 Chris Eidhof попытался сформулировать некоторые правила и шаблоны их использования.
📖 В этой статье есть полезные советы по коммуникации между SwiftUI и UIKit/AppKit (когда и при каких условиях необходимо выполнять обновление, и какие подводные камни могут ожидать).
😃 iOS Dev8 002
🚩Не сомневался в нас ни на секунду!
Зато теперь вы в курсе, что если вдруг кто-то не следует не по стайл-гайду в самом начале своего пути, то возможно он просто приверженец Lisp-стиля (или просто так чувствует).
📖 А вот здесь больше инфы про отступы в разных языках (и не только).
😃 iOS Dev
8 002
Анимация изменения чисел с помощью модификатора Content Transition
➡️
Content Transition можно использовать для создания анимированных переходов.
Например, в случаях, когда есть значение, которое изменяется с течением времени (время на таймере или курс валют).
📖 В этом примере показано, как реализовать такой эффект при нажатии кнопки (как говорится, от прошлого к сложному).
😃 iOS Dev8 002
Develop in Swift: новая серия уроков от Apple
🧑💻 Вышла новая часть для обучения, с помощью которой можно ближе познакомиться с Xcode и Swift.
Среди проектов, которые вы сможете создать за 5 часов (невероятно, но факт):
1️⃣ Прототип приложения для обмена сообщениями.
2️⃣ Прототип погодного приложения.
3️⃣ Работа с онбордингом.
4️⃣ Добавление кнопок и реализация взаимосвязи внутри приложений.
5️⃣ Работа с Lists и text fields.
😃 iOS Dev
8 002
Эффективные способы управления памятью при работе с замыканиями в Swift
👨💻 Одной из важнейших областей, где нам нужно уделять особое внимание при разработке, являются замыкания.
При неправильном использовании могут возникать утечки памяти.
В свою очередь, это часто приводит к крашам и проблемам с производительностью.
📖 В этой статье рассмотрены несколько методов управления памятью при использовании замыканий.
😃 iOS Dev
8 002
🏘 Финалисты App Store Award 2023 2023 года
Редакция App Store отмечает лучшие приложения и игры года, выделяя целый ряд разработчиков.
В этот раз представлено 40 разработчиков приложений и игр в 10 различных категориях — за их превосходство, изобретательность и технические достижения в приложениях и играх.
Например, для iPhone в этот раз в главной категории: AllTrails, Duolingo и Flighty.
А для мака: Linearity Curve, Photomator и Portal (другой🙂).
🔗 Со всеми остальными номинантами вы сможете ознакомиться по ссылке.
😃 iOS Dev
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
