Xcode Behaviors - полезный трюк
Как показывает практика, то, что кажется очевидным, не всегда таковым является. Например, когда-то в канале я делился простым способом как перемещаться по терминалу к нужному символу.
Зная свои инструменты, можно повысить продуктивность если не в разы, то на несколько процентов точно.
Например, в Xcode есть полезная штука Xcode Behaviors (в ней можно настраивать кастомные действия для открытия вкладок, триггеров на старт/финиш билда, на ошибки, да почти на что угодно).
Вот как можно открывать директорию проекта по хоткею, например:
1. Создаём скрипт, например
2. В него добавляем следующее:
3. Накидываем на скрипт права на исполнение через терминал (или свойства)
4. Переходим Xcode behaviors -> Edit behaviors -> Custom Behavior
5. Задаём название - например Open Project Behavior, добавляем хоткей, например cmd+option+9 (или любой другой, если будет конфликт, Xcode ругнётся).
6. Выбираем наш скрипт.
И теперь каждый раз, когда вы будете нажимать
Кстати, в Boosty (все ещё доступном по хорошим условиям) лежит и необычный пример MVP для логирования сборок билдов и интеграции c Xcode.
😃 iOS Dev
Как показывает практика, то, что кажется очевидным, не всегда таковым является. Например, когда-то в канале я делился простым способом как перемещаться по терминалу к нужному символу.
Зная свои инструменты, можно повысить продуктивность если не в разы, то на несколько процентов точно.
Например, в Xcode есть полезная штука Xcode Behaviors (в ней можно настраивать кастомные действия для открытия вкладок, триггеров на старт/финиш билда, на ошибки, да почти на что угодно).
Вот как можно открывать директорию проекта по хоткею, например:
1. Создаём скрипт, например
openProject.sh2. В него добавляем следующее:
#!/bin/bash
open "`pwd`"3. Накидываем на скрипт права на исполнение через терминал (или свойства)
chmod +x openProject.sh4. Переходим Xcode behaviors -> Edit behaviors -> Custom Behavior
5. Задаём название - например Open Project Behavior, добавляем хоткей, например cmd+option+9 (или любой другой, если будет конфликт, Xcode ругнётся).
6. Выбираем наш скрипт.
И теперь каждый раз, когда вы будете нажимать
cmd+option+9, будет открываться директория текущего проекта.Кстати, в Boosty (все ещё доступном по хорошим условиям) лежит и необычный пример MVP для логирования сборок билдов и интеграции c Xcode.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8 21✍10💯6 3🔥2👍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Создание таббара с анимацией в стиле телеграма в iOS 26
Приятные анимации как в телеге можно сделать разными способами (и по сложности реализации, и по затраченному времени в том числе).
📺 В этом видео автор поделился способом, как сделать так, чтобы существующий дефолтный таббар содержал анимированные эффекты SF-символов с помощью SwiftUI.
📖 А в этом посте можно посмотреть на большое справочное руководство по использованию SF-символов в целом.
😃 iOS Dev
Приятные анимации как в телеге можно сделать разными способами (и по сложности реализации, и по затраченному времени в том числе).
📖 А в этом посте можно посмотреть на большое справочное руководство по использованию SF-символов в целом.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 26👍11🔥8👏3 3❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Дедлайн: 23:59 по времени Дубая 26 декабря 2025 года
Кто может участвовать: все желающие
📱 Только вчера показывал один из вариантов реализации анимации в таббаре, а уже сегодня Telegram стартанул конкурс, цель которого — внедрить эффекты Liquid Glass в старые версии iOS.
К сути: нужно точно воспроизвести анимацию и внешний вид (подсветка при нажатии, увеличение, баунс и растяжение) стеклянных элементов (для таббара, кнопок, свитчей и слайдеров). В слайдере блюр должен быть только у ползунка.
Требования:
– Минимальный таргет iOS 18.
– Никаких сторонних либ.
– Решение должно быть интегрировано в кодовую базу телеги (их наработки можно и нужно использовать).
– Изменения не должны аффектить стабильность и быстродействие (обещают замерять батарейку).
Всем участникам удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
Улучшение проверки регистрации в SwiftUI с использованием Key Paths
📖 В этой статье рассматривается, как с помощью key path можно значительно сократить объем кода, который необходимо написать, и, как прямой результат, сделать его гораздо более читабельным.
😃 iOS Dev
📖 В этой статье рассматривается, как с помощью key path можно значительно сократить объем кода, который необходимо написать, и, как прямой результат, сделать его гораздо более читабельным.
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤🔥10 9👍4💯3 3🔥1
Одно приложение SwiftUI, шесть архитектур
Питер Якуб решил написать таск-менеджер целых 6 раз, чтобы попытаться выбрать лучшую архитектуру.
Интересно, что он затрагивает и разницу между архитектурой и дизайн-паттернами, в которой многие путаются до сих пор.
В его примерах можно посмотреть на использование MVC, MVVM, VIPER, TCA и посмотреть на любопытный поинт, что чистая архитектура не что иное, как философия (без отсылок к Роберту Мартину не обошлось).
📖 А какие выводы он сделал - почитайте сами.
P.S. Он не скрывает, что использовал ИИ для помощи (хотя и без подсказок это считывалось), но в любом случае ещё один взгляд на обсуждаемую в программировании тему не будет лишним.
😃 iOS Dev
Питер Якуб решил написать таск-менеджер целых 6 раз, чтобы попытаться выбрать лучшую архитектуру.
Интересно, что он затрагивает и разницу между архитектурой и дизайн-паттернами, в которой многие путаются до сих пор.
В его примерах можно посмотреть на использование MVC, MVVM, VIPER, TCA и посмотреть на любопытный поинт, что чистая архитектура не что иное, как философия (без отсылок к Роберту Мартину не обошлось).
📖 А какие выводы он сделал - почитайте сами.
P.S. Он не скрывает, что использовал ИИ для помощи (хотя и без подсказок это считывалось), но в любом случае ещё один взгляд на обсуждаемую в программировании тему не будет лишним.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 16🔥10👍9👏4 2✍1💯1🏆1
✍8⚡6😎5 4❤🔥2👍2🔥1💯1🏆1
Какие настройки компилятора важны для Swift Concurrency?
📖 В своей статье Мэтт Массикотт проходится по существующим опциям и описывает рекомендуемые настройки для проектов, использующих Swift 6.
А ещё он пытается ответить на вопросы о том, какие режимы можно просто включить, а о которых можно даже не думать.
😃 iOS Dev
📖 В своей статье Мэтт Массикотт проходится по существующим опциям и описывает рекомендуемые настройки для проектов, использующих Swift 6.
А ещё он пытается ответить на вопросы о том, какие режимы можно просто включить, а о которых можно даже не думать.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 11✍6👍5❤🔥3🔥2👏2💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Вышло в релиз приложение Макса Гришутина, в котором можно воссоздать эффект снегопада на вашем маке.
Классно, что есть обработка эффекта таяния снега на границах окон и возможность настройки.
🛠 А так как оно ещё и в опенсорсе, то можно чекнуть исходный код в этом репозитории.
А тут можно посмотреть на эффект гирлянды.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 18🎅11 10🔥4⚡1❤🔥1✍1👍1💯1🏆1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Animation Playground - интерактивное приложение для изучения анимаций
Нашёл ещё один любопытный опенсорс-проект для того, чтобы снизить путаницу при работе с различными типами анимаций.
Затестить можно на разных типах фигур (или добавить свои, все же это опенсорс).
🛠 А здесь ссылка на github-репозиторий.
😃 iOS Dev
Нашёл ещё один любопытный опенсорс-проект для того, чтобы снизить путаницу при работе с различными типами анимаций.
Можно посмотреть сразу 9 типов анимаций: .spring, .smooth, .snappy, .bouncy, .easeIn, .easeOut, .easeInOut, .linear и .interpolatingSpring.
Есть и опции по настройке: duration, bounce, stiffness, damping и другие.
Затестить можно на разных типах фигур (или добавить свои, все же это опенсорс).
🛠 А здесь ссылка на github-репозиторий.
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥38 9 7👍4✍2💯2
Актуальный вопрос к читателям
Подскажите, что вы делаете с тестовыми заданиями, интересует обе стороны: с позиции соискателя и собеседующего. Вообще, соглашаетесь (предлагаете) ли вы их делать или это атавизм?
Ранее я использовал эту опцию, чтобы выстроить процесс общения с кандидатами непосредственно по их реализации (сами понимаете, всегда есть в какую сторону пойти при обсуждении решений).
Но вот какая проблема у меня, моих коллег на протяжении последних года-двух это точно:
Если попадаются идеальные тестовые с четкой архитектурой, покрытием большого количества корнер-кейсов и практически идентичными комментариями - есть большая вероятность, что на любой вопрос по коду я ответа не получу.
При этом я не против использования ИИ для написания кода кандидатами - но я прошу понимать написанное.
Какие вы дадите советы, стоит ли с этим бороться вообще? Если стоит, то как именно?
Например, лично я добавляю небольшую 20/30-минутную часть по изменению кода в процессе собеса.
А что ещё посоветуете?
😃 iOS Dev
Подскажите, что вы делаете с тестовыми заданиями, интересует обе стороны: с позиции соискателя и собеседующего. Вообще, соглашаетесь (предлагаете) ли вы их делать или это атавизм?
Ранее я использовал эту опцию, чтобы выстроить процесс общения с кандидатами непосредственно по их реализации (сами понимаете, всегда есть в какую сторону пойти при обсуждении решений).
Но вот какая проблема у меня, моих коллег на протяжении последних года-двух это точно:
Если попадаются идеальные тестовые с четкой архитектурой, покрытием большого количества корнер-кейсов и практически идентичными комментариями - есть большая вероятность, что на любой вопрос по коду я ответа не получу.
При этом я не против использования ИИ для написания кода кандидатами - но я прошу понимать написанное.
Какие вы дадите советы, стоит ли с этим бороться вообще? Если стоит, то как именно?
Например, лично я добавляю небольшую 20/30-минутную часть по изменению кода в процессе собеса.
А что ещё посоветуете?
Please open Telegram to view this post
VIEW IN TELEGRAM
7✍11 8🔥6🍓5❤🔥2🎅2👍1