iOS Dev
7.97K subscribers
1.22K photos
154 videos
1 file
1.53K links
👨‍💻Автор: Виктор Грушевский (@Viktorianec)

⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru

🍏Канал об iOS-разработке, алгоритмах и архитектурах

⭐️ Подготовка к собесам

⭐️ Код. Много кода.

#ios #mobile #swift
Download Telegram
SwiftUI Charts и динамическое маскирование

Одним из применений для диаграмм является разный стиль для выбранной области и той, которая не отмечена. Часто это можно встретить в банковских или торговых приложениях.

📖 В этой статье автор делится любопытным подходом к реализации таких графиков.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
714🤯5🤩5👍3
iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple

📖 В своём блоге Антон собрал суть исходных вопросов и сократил ответы для большей ясности.

Большинство ответов поступило от инженеров или евангелистов Apple.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
613👍3🔥3
⚡️ Apple обязали всех делать поддержку iPhone Duo с апреля 2027 года

Сегодня выкатили обновление App Store, а вместе с тем и добавили строчку про обязательные скриншоты для iPhone Duo.

Видимо, большая корпорация не хочет допустить повторения истории с Vision Pro (у которого нет большой базы приложений в первую очередь из-за стоимости девайса).

📖 Сегодня опубликовали спецификации и требования.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
2😱30⚡10😢9😨84👻1
Работа с модальными экранами на iPhone Duo

На iPhone Duo всплывающие окна могут выглядеть совершенно по-разному. В частности, на это влияет то, находится ли устройство в частично сложенном состоянии.

При этом элементы управления могут смещаться в сторону, да и сами окна отодвигаться от места сгиба. В любом случае, нам следует проверить их поведение, даже если мы не добавляли код, специфичный для iPhone Duo.

📖 В этой статье есть несколько советов, которые помогут адаптироваться к грядущим изменениям.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
413✍5👍2🔥2💯1
Продвинутые техники работы с макросами в Swift

Владение макросами позволяет автоматизировать написание бойлерплейт-кода и создавать мощные архитектурные инструменты.

📖 Авторы PointFree объясняют, какие ограничения могут быть при работе с макросами, как создавать более лаконичное апи, а также дают несколько советов, как можно упростить отладку.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
411🔥3👍2
Итеративная загрузка данных в Swift

Хотя одновременное выполнение десятков асинхронных запросов может показаться самым простым решением, но это не всегда обеспечивает наилучший пользовательский опыт.

Да и вообще, как справиться со сложными элементами интерфейса, для заполнения экрана которых может потребоваться 40–50 асинхронных запросов? Как можно оптимизировать параллельные задачи?

📖 В этой статье автор разбирает важность того, как и когда именно мы предоставляем результаты на примере реального приложения.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
413✍4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект премиальной банковской карты с помощью SwiftUI и Metal

Такая красота часто встречается в банковских и финтех-приложениях. По краю карты пробегает тонкий луч света, очень похжий на отблеск на металлическом торце (получается эдакая подсветка рамки).

📖 Хотя подобный эффект можно реализовать с помощью градиента и нативной анимации, чаще всего это выглядит не очень здорово.

Но можно использовать алгоритм немного посложнее:

1. Сначала с помощью шейдера вырезаем из карты её контур (саму крточку оставляем нетронутой).
2. Потом по карте под углом 45° бежит луч света (хоть это и обычная проекция, но все равно получится настоящий блик)
3. В итоге добавляем эффект вспышки света только там, где проходит рамка, и чуть-чуть мягкий ореол по краю.
В итоге +- 60 строчек метала, и у нас кайфовый и приятный эффект.


✅Исходный код уже доступен: ⭐️ здесь или 💰 тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1130🤩4❤‍🔥2👍2💯2😴2🏆1
Тестирование асинхронного кода в Swift

Работа с таким кодом и так может оказаться непростой задачей, а тесты и вовсе требуют особенного подхода.

📖 Автор этой статьи пробует разобраться с возникающими гонками и делится своими советами к тому, чтобы сделать тесты более предсказуемыми.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
716👍4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁78🤣23💯8⚡1👏11
Для чего нужен Sendable в Swift и как Swift Concurrency нас защищает

Сама концепция Sendable позволяет безопасно передавать данные между потоками, выявляя ошибки параллелизма ещё на этапе написания кода, а не в рантайме.

📖 Например, эта статья подробно объясняет проблему гонки данных и то, как Swift Concurrency решает её на уровне компилятора. Автор наглядно показывает, как появляются непростые для повторения краши, и как можно их не допустить.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
520👍6🤝4
Планируете ли вы покупать iPhone Duo?
Anonymous Poll
13%
Да
71%
Нет
16%
Пока не решил
🎄11😨6⚡3👍2🔥1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядят iOS-разработчики, которые поддерживают проект с iOS 15, и тут их попросили добавить поддержку iPhone Duo

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁141🤣28😢10💯5😎3⚡1🔥1👏1🍾1👾1
Определение стоимости перерисовок в SwiftUI с помощью Instruments

Проблемы с производительностью в SwiftUI чаще всего возникают из-за слишком частых или долгих перерисовок экранов.

📖️️ В этой статье автор рекомендует использовать Xcode Instruments со специальным шаблоном.

C его помощью можно отследить, как часто обновляются конкретные View, сколько времени это занимает что именно вызвало перерисовку.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1910🏆1😨1
Когда нужно использовать View Model в SwiftUI

Карин Пратер считает, что хотя это и мощный инструмент, но добавляет лишний слой абстракции (ещё и дополнительный файл в придачу). И делится мыслями, когда выгода от использования может уступать требуемым затратам на поддержку.

📖️️ В этой статье можно посмотреть на четыре примера от простых к более сложным.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
413✍6👍5😡3❤‍🔥1🫡1
Подготовка приложения к Duo: что ещё может сломаться

Релиз девайса уже буквально завтра, поэтому продолжаю делиться полезными материалами на счёт адаптации наших приложений.

📖️️ Например, в этой статье разработчица рассказывает о процессе переписывания приложения под Duo в течение нескольких недель с учётом комментариев дизайнеров.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
222🔥4❤‍🔥3😨2👻1
Визуальное исследование SwiftUI

Разработчик создал сайт, чтобы наглядно продемонстрировать встроенные возможности SwiftUI в чистом виде.

Есть даже есть отдельный раздел с примерами для iPhone Duo.

Каждый пример показывает, что можно сделать, используя исключительно встроенные компоненты и модификаторы.

📖️️️️ Сайт доступен здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
527✍4👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Управление анимацией SwiftUI с помощью угла поворота на iPhone Duo

В iOS 27.1 появилась новая опция отслеживания изменений наклона для iPhone Duo, и с её помощью можно реализовывать крайне интересные анимации.

📖️️️️ Например, в этом посте показано, как реализовать анимацию цветка, но применение может быть куда шире.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
416🤩5👍3😍1👾1
Apple начала помечать изображения, сгенерированные на iPhone, водяными знаками SynthID

📖️️️️️️ В iOS 27.2 появилась поддержка SynthID — технологии Google, которая помечает сгенерированные изображения, чтобы пользователи могли их отличить от настоящих.

Маркировка работает в генераторе Image Playground и в AI‑функциях для редактирования фотографий.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
928👍4👌1💯1
Проблемы с Dynamic Island в iOS 27

📖️️️️️️ В статье iOS-разработчик Кристиан Селиг рассказывает об ошибке в iOS 27, из-за которой функция Dynamic Island работает некорректно при отображении некоторых виджетов (Live Activities).

Проблема возникает при использовании системного EmptyView вместе с новым параметром для узких экранов, который добавили специально для нового iPhone Duo и ландшафтного режима.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
610✍6😢6👍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😢7👻7😨65