#swiftui
Kavsoft (YouTube)
🗣 Авторский канал, посвященный разработке на SwiftUI
Последние интересные выпуски:
📺 SwiftUI 3.0 Animation Challenge - Wallet App UI
📺 SwiftUI 3.0 Matrix Rain Effect
Kavsoft (YouTube)
🗣 Авторский канал, посвященный разработке на SwiftUI
Последние интересные выпуски:
📺 SwiftUI 3.0 Animation Challenge - Wallet App UI
📺 SwiftUI 3.0 Matrix Rain Effect
🤩4👎3
This media is not supported in your browser
VIEW IN TELEGRAM
#ui
Создаём стираемую карту (scratch card) для iOS-приложения (YouTube)
🗣 Такая механика точно придаст особый шарм приложению с розыгрышами, подарками. Возможно пригодится для CVV кода на карте. В любом случае интересно, как это сделано
GitHub репозиторий тестового проекта здесь
Создаём стираемую карту (scratch card) для iOS-приложения (YouTube)
🗣 Такая механика точно придаст особый шарм приложению с розыгрышами, подарками. Возможно пригодится для CVV кода на карте. В любом случае интересно, как это сделано
GitHub репозиторий тестового проекта здесь
👎3🔥3👍1🤩1
#tools
How to set UserDefaults value with Launch Arguments (4 мин)
🗣 Необычный способ проводить тестирование приложения, используя UserDefaults и Launch Arguments
Для меня стало откровением способность UserDefaults автоматически впитывать в себя аргументы, указанные в схеме. А для вас?
How to set UserDefaults value with Launch Arguments (4 мин)
🗣 Необычный способ проводить тестирование приложения, используя UserDefaults и Launch Arguments
Для меня стало откровением способность UserDefaults автоматически впитывать в себя аргументы, указанные в схеме. А для вас?
👎3👍2
#xcode #tools
Лайфхаки по многомодульности в iOS (15 мин)
🗣 В статье представлен набор отлаженных решений для организации многомодульного iOS приложения
📍 Поддержка структуры проекта с помощью Tuist
📍 Решение проблемы медленной компиляции
📍 Настройка окружения
📍 Кодогенерация и шаблоны Xcode
Лайфхаки по многомодульности в iOS (15 мин)
🗣 В статье представлен набор отлаженных решений для организации многомодульного iOS приложения
📍 Поддержка структуры проекта с помощью Tuist
📍 Решение проблемы медленной компиляции
📍 Настройка окружения
📍 Кодогенерация и шаблоны Xcode
👍3👎3🔥1
#ui
Как варить дизайн-систему для живого приложения (32 мин)
🗣 Создание и поддержка дизайн-системы задача не тривиальная. Разработчик в докладе делится опытом, подходами и проблемами
📍 Структура чаптера iOS-разработчиков. План и цели внедрения дизайн-системы
📍 Организация стилей компонентов
📍 Поддержка документации
📍 Работа с Bar Appearance
📍 Автоматизация тестирования компонентов
Как варить дизайн-систему для живого приложения (32 мин)
🗣 Создание и поддержка дизайн-системы задача не тривиальная. Разработчик в докладе делится опытом, подходами и проблемами
📍 Структура чаптера iOS-разработчиков. План и цели внедрения дизайн-системы
📍 Организация стилей компонентов
📍 Поддержка документации
📍 Работа с Bar Appearance
📍 Автоматизация тестирования компонентов
🔥5👎3
#architecture
📺 MVI в iOS-приложении (32 мин)
🗣 Разбор популярной State Machine в Android в реалиях iOS. В начале немного сложновато, но под конец на реальном примере все встает на свои места
📍 Какие существуют инструменты и фреймворки, позволяющие реализовать State Machine и их различия
📍 Модули MVI и их обязанности
📺 MVI в iOS-приложении (32 мин)
🗣 Разбор популярной State Machine в Android в реалиях iOS. В начале немного сложновато, но под конец на реальном примере все встает на свои места
📍 Какие существуют инструменты и фреймворки, позволяющие реализовать State Machine и их различия
📍 Модули MVI и их обязанности
👎3🔥2👏1
#swift
Abstract types and methods in Swift (10 мин)
🗣 Автор статьи анализирует имеющиеся проблемы и объединяет лучшее из абстрактных типов и протоколов в одно решение
📍 Проблемы с Dependency Injection, тестированием кода и т.п.
📍 Преимущества и недостатки абстрактных типов и протоколов
Abstract types and methods in Swift (10 мин)
🗣 Автор статьи анализирует имеющиеся проблемы и объединяет лучшее из абстрактных типов и протоколов в одно решение
📍 Проблемы с Dependency Injection, тестированием кода и т.п.
📍 Преимущества и недостатки абстрактных типов и протоколов
👎3👍2
#refactoring
How to remove unused code in Swift (5 мин)
🗣 Утилита с открытым исходным кодом, которая поможет найти и удалить весь неиспользуемый код в проекте
📍 Ссылка на Github проект с подробным описанием возможностей
📍 Утилита находит неиспользуемые class, struct, protocol, function, property, constructor, enum, typealias, associatedtype
How to remove unused code in Swift (5 мин)
🗣 Утилита с открытым исходным кодом, которая поможет найти и удалить весь неиспользуемый код в проекте
📍 Ссылка на Github проект с подробным описанием возможностей
📍 Утилита находит неиспользуемые class, struct, protocol, function, property, constructor, enum, typealias, associatedtype
👎3🔥3👏2
#architecture
How to modularize existing iOS projects using Swift Package (15 мин)
🗣 Потрясающая пошаговая и подробная инструкция для модуляризации имеющегося проекта в Swift Package
📍 Создание Swift Package
📍 Конфигурация поддерживающих платформ
📍 Регулирование уровней доступа к полям
How to modularize existing iOS projects using Swift Package (15 мин)
🗣 Потрясающая пошаговая и подробная инструкция для модуляризации имеющегося проекта в Swift Package
📍 Создание Swift Package
📍 Конфигурация поддерживающих платформ
📍 Регулирование уровней доступа к полям
👍4👎3
#storage
Safer and cleaner UserDefaults and AppStorage (5 мин)
🗣 Статья о том, как правильно, безопасно и удобно пользоваться UserDefaults
📍 Какие проблемы существуют при стандартном использовании UserDefaults
📍 Что можно сделать, чтобы избежать ошибок
📍 В конце статьи реализуется расширение AppStorage (Property Wrapper), что очень удобно
Safer and cleaner UserDefaults and AppStorage (5 мин)
🗣 Статья о том, как правильно, безопасно и удобно пользоваться UserDefaults
📍 Какие проблемы существуют при стандартном использовании UserDefaults
📍 Что можно сделать, чтобы избежать ошибок
📍 В конце статьи реализуется расширение AppStorage (Property Wrapper), что очень удобно
👍6👎3🔥1
#appstore #xcode
App Store submission requirement starts April 25 (2 мин)
🗣 Небольшое обновление. После 25 апреля сборки, выкладываемые в AppStore, должны будут собираться на Xcode 13
Уверен, у разработчиков поддерживающих реально масштабные приложения есть регулярные задачи мигрировать весь проект на версию выше. Некоторые с этим затягивают и сидят на Xcode 12. Как думаете, многих коснется такое изменение?
App Store submission requirement starts April 25 (2 мин)
🗣 Небольшое обновление. После 25 апреля сборки, выкладываемые в AppStore, должны будут собираться на Xcode 13
Уверен, у разработчиков поддерживающих реально масштабные приложения есть регулярные задачи мигрировать весь проект на версию выше. Некоторые с этим затягивают и сидят на Xcode 12. Как думаете, многих коснется такое изменение?
🔥6👎3
#ui #media
Creating a SwiftUI Looping Background Video (5 мин)
🗣 Кто интересуется работой с медиа-файлами, держите статью по созданию циклического фонового видео
📍 Используются только стандартные фреймворки: AVFoundation, UIKit
📍 В конце статьи автор проксирует код для SwiftUI
Creating a SwiftUI Looping Background Video (5 мин)
🗣 Кто интересуется работой с медиа-файлами, держите статью по созданию циклического фонового видео
📍 Используются только стандартные фреймворки: AVFoundation, UIKit
📍 В конце статьи автор проксирует код для SwiftUI
👍5👎3
#network
Using Proxyman to Inspect Network Traffic (15 мин)
🗣 Туториал по проксированию интернет трафика в iOS
По моему опыту лишь некоторая часть из нашего комьюнити пользуется прокси для разработки и тестирования. Ручная подмена запросов и ответов. Создание правил и условий для модификации. Умение этим пользоваться неоспоримо очень важно для разработчика.
Я, например, постоянно использую ProxyMan для анализа сетевого трафика другого приложения, чтобы понять куда оно лезет.
Если вы никогда не пользовались или не знаете тонкостей, посмотрите туториал и исследуйте эту утилиту еще детальнее. Она еще и бесплатная в отличии от аналогичной Charles
Using Proxyman to Inspect Network Traffic (15 мин)
🗣 Туториал по проксированию интернет трафика в iOS
По моему опыту лишь некоторая часть из нашего комьюнити пользуется прокси для разработки и тестирования. Ручная подмена запросов и ответов. Создание правил и условий для модификации. Умение этим пользоваться неоспоримо очень важно для разработчика.
Я, например, постоянно использую ProxyMan для анализа сетевого трафика другого приложения, чтобы понять куда оно лезет.
Если вы никогда не пользовались или не знаете тонкостей, посмотрите туториал и исследуйте эту утилиту еще детальнее. Она еще и бесплатная в отличии от аналогичной Charles
👏5👎2🔥2
#ui
Используем новый keyboardLayoutGuide, чтобы защитить View от перекрытия клавиатурой (5 мин)
🗣 Системная клавиатура наезжает на текстовое поле? Ловите удобный способ исправить это
Свойство keyboardLayoutGuide у UIView позволяет отслеживать появление клавиатуры и расставить необходимые констрэинты для UI элементов
Используем новый keyboardLayoutGuide, чтобы защитить View от перекрытия клавиатурой (5 мин)
🗣 Системная клавиатура наезжает на текстовое поле? Ловите удобный способ исправить это
Свойство keyboardLayoutGuide у UIView позволяет отслеживать появление клавиатуры и расставить необходимые констрэинты для UI элементов
🔥6👎3
#ui #architecture
Every Screen in Your App Should Be a Scrolling View (7 мин)
🗣 Имеющая право на жизнь философия о том, что каждый экран должен быть обернут в UIScrollView
В статье помимо очевидных доводов присутствуют и те, о которых я не задумывался. Поэтому будет полезно их учесть. Жаль, в посте не предложено готовое решение, зато есть шанс придумать свое
Every Screen in Your App Should Be a Scrolling View (7 мин)
🗣 Имеющая право на жизнь философия о том, что каждый экран должен быть обернут в UIScrollView
В статье помимо очевидных доводов присутствуют и те, о которых я не задумывался. Поэтому будет полезно их учесть. Жаль, в посте не предложено готовое решение, зато есть шанс придумать свое
👍4👎2🔥2
#ui
How to force two lines of Text in SwiftUI (2 мин)
🗣 Как ограничить максимально UILabel мы знаем, а как выставить минимум строк?
Ловите небольшую статью с оригинально простым способ это сделать в SwiftUI. Можно также дополнить свой набор вспомогательных extensions
How to force two lines of Text in SwiftUI (2 мин)
🗣 Как ограничить максимально UILabel мы знаем, а как выставить минимум строк?
Ловите небольшую статью с оригинально простым способ это сделать в SwiftUI. Можно также дополнить свой набор вспомогательных extensions
🔥5👎3👍2
#ui
Swift Size Class that can be understood in 3 seconds (3 секунды)
🗣 Разбор метрик compact и regular в Size Classes. Как определить положение девайса по этим характеристикам?
Эти характеристики позволяют намного более точно настраивать лэйауты элементов как в UIKit, так и в SwiftUI.
Расскажите, когда вам приходилось их использовать?
Swift Size Class that can be understood in 3 seconds (3 секунды)
🗣 Разбор метрик compact и regular в Size Classes. Как определить положение девайса по этим характеристикам?
Эти характеристики позволяют намного более точно настраивать лэйауты элементов как в UIKit, так и в SwiftUI.
Расскажите, когда вам приходилось их использовать?
🔥6👎3
Forwarded from Mobile Development by AppTractor
Apple разрешает автоматически увеличивать цены на подписку
В этом году Apple уже тестировала новую функцию, позволяющую разработчикам автоматически повышать цены на возобновляемые подписки. Эта «пилотная программа» была ограничена отдельными разработчиками, а Apple теперь внедряет эти изменения для всех.
В настоящее время, когда разработчик увеличивает цену автоматически возобновляемой подписки, пользователи должны подтвердить, что они продолжат подписку по новой цене, в противном случае подписка автоматически отменяется. Теперь, с обновлением, повышенные цены могут взиматься даже без действий пользователя.
Есть некоторые ограничения. Главное, повышение цен не может происходить чаще, чем раз в год. При этом максимальное увеличение - на 5 долларов для обычных подписок или 50 долларов для годовых. В таких случаях Apple будет сообщать пользователям об изменении цен по электронной почте, через push-уведомления и сообщения в приложении.
В этом году Apple уже тестировала новую функцию, позволяющую разработчикам автоматически повышать цены на возобновляемые подписки. Эта «пилотная программа» была ограничена отдельными разработчиками, а Apple теперь внедряет эти изменения для всех.
В настоящее время, когда разработчик увеличивает цену автоматически возобновляемой подписки, пользователи должны подтвердить, что они продолжат подписку по новой цене, в противном случае подписка автоматически отменяется. Теперь, с обновлением, повышенные цены могут взиматься даже без действий пользователя.
Есть некоторые ограничения. Главное, повышение цен не может происходить чаще, чем раз в год. При этом максимальное увеличение - на 5 долларов для обычных подписок или 50 долларов для годовых. В таких случаях Apple будет сообщать пользователям об изменении цен по электронной почте, через push-уведомления и сообщения в приложении.
👎9👍3
#ui
The Developer's Guide to Cell Content Configuration in iOS 14 (7 минут)
🗣 Разбор нововведения iOS 14 в отношении стандартной UITableViewCell
Давно писали cell.textLabel?.text = ...
Для тех, кто в танке (как я 😅), разработчики Apple решили все-таки внедрить по умолчанию то, что мы обычно писали сами, а именно возможность конфигурировать ячейки. Пожалуйста, новые протоколы: UIContentConfiguration, UIContentView
The Developer's Guide to Cell Content Configuration in iOS 14 (7 минут)
🗣 Разбор нововведения iOS 14 в отношении стандартной UITableViewCell
Давно писали cell.textLabel?.text = ...
Для тех, кто в танке (как я 😅), разработчики Apple решили все-таки внедрить по умолчанию то, что мы обычно писали сами, а именно возможность конфигурировать ячейки. Пожалуйста, новые протоколы: UIContentConfiguration, UIContentView
👎3🔥2👍1
Forwarded from Mobile Development by AppTractor
Премия Apple Design Awards присуждается за выдающиеся достижения в области дизайна приложений и игр. Победители будут объявлены во время WWDC22, а сейчас компания Apple представила финалистов конкурса в 6 категориях:
• Инклюзивность
• Восторг и веселье
• Взаимодействие
• Социальное влияние
• Визуальные эффекты и графика
• Инновации
• Инклюзивность
• Восторг и веселье
• Взаимодействие
• Социальное влияние
• Визуальные эффекты и графика
• Инновации
👎2👍1