Image Playground API
👍 Можно генерировать фото нейросетями прямо на девайсе c помощью Image Playground для пользователей.
Доступна анимация, скетч или иллюстрация.
Пока интересно, будут ли лимиты использования, или какая-то подписка.
🛠 А для нас будет Image Playground API.
😃 iOS Dev
Доступна анимация, скетч или иллюстрация.
Пока интересно, будут ли лимиты использования, или какая-то подписка.
🛠 А для нас будет Image Playground API.
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Dev
Image Playground API 👍 Можно генерировать фото нейросетями прямо на девайсе c помощью Image Playground для пользователей. Доступна анимация, скетч или иллюстрация. Пока интересно, будут ли лимиты использования, или какая-то подписка. 🛠 А для нас будет…
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Dev
Бесплатно! Amazing! 😃 iOS Dev
Интегрировали ещё и Chat GPT!
БЕСПЛАТНО!
(по крайней мере для пользователей без аккаунта)
У обладателей платного акка будут дополнительные фичи для них.
Ну это праздник какой-то!
😃 iOS Dev
БЕСПЛАТНО!
(по крайней мере для пользователей без аккаунта)
У обладателей платного акка будут дополнительные фичи для них.
Ну это праздник какой-то!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤🔥7 6☃3👍3👏1
На сегодня это всё?
Дальше ждёт около сотни технических сессий.
🫡 Самые важные будут как всегда в нашем канале.
Если вам понравилась трансляция, фичи и то, что выкатили эппл сегодня, то вы всегда можете:
🚀 Дать буст каналу
😃 iOS Dev — самые важные новости для вас👍
Кто замьютил канал, уже можно вернуть колокольчик)
Дальше ждёт около сотни технических сессий.
🫡 Самые важные будут как всегда в нашем канале.
Если вам понравилась трансляция, фичи и то, что выкатили эппл сегодня, то вы всегда можете:
Please open Telegram to view this post
VIEW IN TELEGRAM
Предиктивное завершение кода (автокомплит на максималках).
Добавили инсайты о производительности с помощью улучшенной диагностики, новый вид графиков в Instruments.
И многое другое!
📖 Как оказалось, это ещё далеко не всё🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥17 7🎄3🎉2⚡1☃1❤🔥1💯1🏆1🆒1
1. Вышло в релиз приложение iOS IQ - можно потренироваться и проверить себя в самых разных темах. Есть индивидуальная статистика, прогресс, ранги (и даже немного metal для анимаций), а также таблицы лидеров.
2. Теперь комментарии будут открыты для всех (правила модерации обычные).
В закрытом чате останутся внутренние обсуждения, например, вчера я делился новостями с Platform State of the Union в реальном времени, основные моменты будут и здесь немного позже.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43 11💯8👍4🏆3❤🔥2✍1🤩1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Swift Assist — топовая фича нового Xcode
👨💻 Во вчерашнем Platform State of the Union показали пример,
Как минимум, должно быть супер-полезно при прототипировании приложений.
😃 iOS Dev
как это должно быть в действии
.Как минимум, должно быть супер-полезно при прототипировании приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62 13💯7☃2🎄2😎2 2👍1🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
MeshGradient в iOS 18
Теперь доступен градиент, который можно задавать с помощью 2D-сетки расставленных цветов.
🚀 Попробовал сделать несложную анимацию, чувствуется потенциал (код доступен прямо на гифке).
📺 Можно посмотреть ещё и на такой вариант анимации.
🕖 Вариант реализации через таймлайн (и код).
😃 iOS Dev
Теперь доступен градиент, который можно задавать с помощью 2D-сетки расставленных цветов.
📺 Можно посмотреть ещё и на такой вариант анимации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Анимации SwiftUI доступны в UIKit с iOS 18
Сейчас SwiftUI, UIKit и AppKit используют различные базовые реализации для анимации.
📖 Apple рекомендует использовать новую возможность с iOS 18 во всех фреймворках, чтобы создать более ожидаемый опыт для пользователей (и избежать потенциальных сложностей для разработчиков с синхронизацией таймингов и другими проблемами).
👨💻 На скриншоте пример создания использования такой анимации.
😃 iOS Dev
Сейчас SwiftUI, UIKit и AppKit используют различные базовые реализации для анимации.
📖 Apple рекомендует использовать новую возможность с iOS 18 во всех фреймворках, чтобы создать более ожидаемый опыт для пользователей (и избежать потенциальных сложностей для разработчиков с синхронизацией таймингов и другими проблемами).
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
История создания приложения iOS IQ (эффекты, код и примеры)
❤️ Спасибо всем, кто установил приложение и оставил отзыв, это очень ценно.
По запрошенным комментариям в чате решился опубликовать большую статью про разработку приложения.
Рассмотрел основные моменты по анимации, реализации шейдеров, статистике и тому, как быстро сделать авторизацию.
📖 Статья уже сейчас доступна всем.
А если вам интересно, как именно можно реализовать эффект гиперпространства или анимацию подсветки:
✅ Доступ со скидкой на время WWDC можно получить здесь (или тут ещё выгоднее).
😃 iOS Dev - кстати, версия с обновлёнными рангами уже доступна
Пользователей, который набрал в харкдоре больше 20 - это очень мощно! Но в следующих обновлениях будет ещё сложнее.
❤️ Спасибо всем, кто установил приложение и оставил отзыв, это очень ценно.
По запрошенным комментариям в чате решился опубликовать большую статью про разработку приложения.
Рассмотрел основные моменты по анимации, реализации шейдеров, статистике и тому, как быстро сделать авторизацию.
📖 Статья уже сейчас доступна всем.
А если вам интересно, как именно можно реализовать эффект гиперпространства или анимацию подсветки:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥7 7💯3☃1⚡1👏1🏆1🎄1
Xcode 16 упростит поиск проблем, приводящим к зависаниям приложений
🛠 Теперь с помощью нового инструмента flame graph можно будет определить, выполнение какого именно кода занимает большую часть времени при тяжелых подвисаниях в приложении (особенно полезно на старте).
🤩 Интервалы уже взвешены по параметру процента времени, которые они занимают.
Бонус: в Organizer добавили новую категорию Launches, в которой можно будет увидеть, что именно является причиной долгого запуска приложения у пользователей (статистика за всё время).
😃 iOS Dev
🛠 Теперь с помощью нового инструмента flame graph можно будет определить, выполнение какого именно кода занимает большую часть времени при тяжелых подвисаниях в приложении (особенно полезно на старте).
Бонус: в Organizer добавили новую категорию Launches, в которой можно будет увидеть, что именно является причиной долгого запуска приложения у пользователей (статистика за всё время).
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый метод count(where:) в Swift 6
➡️ В SE-0220 появился новый метод count(where:), который выполняет filter() и count за один проход.
Это позволяет избежать создания нового массива и обеспечивает четкое и прозрачное решение подсчёта.
🤩 Этот метод доступен для всех типов, соответствующих Sequence, поэтому его можно использовать и для сетов, и для словарей.
😃 iOS Dev
Это позволяет избежать создания нового массива и обеспечивает четкое и прозрачное решение подсчёта.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥16 12✍2🎉2❤🔥1⚡1👏1🏆1🎄1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Подборка анимаций c WWDC c примерами кода
Прекрасная сессия, в которой Robb и Philip поделились примерами кода и новыми подходами к реализации.
📺 Новая анимация при скролле.
📺 Работа с цветом.
📺 View и эффекты.
📺 Работа с текстом и новые анимации (уже добавил себе в закладких).
📺 Metal shaders (а куда же без них).
После завершения WWDC уверен, что ещё вернёмся и рассмотрим многое детально.
😃 iOS Dev
Прекрасная сессия, в которой Robb и Philip поделились примерами кода и новыми подходами к реализации.
📺 Новая анимация при скролле.
📺 Работа с цветом.
📺 View и эффекты.
📺 Работа с текстом и новые анимации (уже добавил себе в закладких).
📺 Metal shaders (а куда же без них).
После завершения WWDC уверен, что ещё вернёмся и рассмотрим многое детально.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥50👍11 5💯2🎄2⚡1☃1👏1
🥳 Нужен будет только один набор скриншотов при загрузке приложения в App Store (как для iPhone, так и для iPad).
📖 Отличная новость для дизайнеров, инди-разработчиков, да и для компаний тоже.
А ещё доступ к запросу фичеринга будет более явным (конечно же, без гарантий успеха).
🛩 Новый App Store Connect обещают выкатить осенью.
😃 iOS Dev
📖 Отличная новость для дизайнеров, инди-разработчиков, да и для компаний тоже.
А ещё доступ к запросу фичеринга будет более явным (конечно же, без гарантий успеха).
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉24🔥8 6👍3🤯3❤🔥2💯1🆒1
Подборка лучших сессий с WWDC24 (Swift, Perfomance, Debugging)
Неделя WWDC подошла к концу, поэтому решил вынести сессии, которые можно будет посмотреть в приоритетном порядке.
📼 Анализ heap memory
📼 Использование некопируемых типов в Swift
📼 Swift Perfomance
📼 Подборка анимаций c WWDC c примерами кода
📼 Показатели производительности в AVFoundation
📼 Run, Break, Inspect: Исследуйте эффективную отладку в LLDB
📼 Swift Testing
📼 База в Xcode
📼 Миграция на Swift 6
📼 Что нового в UIKit
Конечно, лучше смотреть их в своём темпе, у меня даже с некоторых прошлых WWDC что-то осталось на исследование.
А если вам понравилось WWDC (трансляция, анонсы и разборы), то вы можете:
❤️🔥Поставить лайк •🚀 Дать буст • ✅ Подписаться (по специальному предложению).
😃 iOS Dev — это была по-настоящему насыщенная неделя (передаю большое спасибо и тем, кто уже установил приложение и написал отзыв )
Неделя WWDC подошла к концу, поэтому решил вынести сессии, которые можно будет посмотреть в приоритетном порядке.
📼 Анализ heap memory
Рассказывают не только об основе динамической памяти (куче), но и о том, как использовать Instruments и Xcode для анализа и устранения распространенных проблем. А ещё методы и лучшие практики для диагностики утечек в приложении.✅ Рекомендую также почитать большой блок на бусти, посвященный этим проблемам.
📼 Использование некопируемых типов в Swift
Большая сессия, которая позволит узнать, что вообще подрузамевает копирование в Swift, когда можно использовать некопируемый тип и как value ownership позволяет четко обозначить свои намерения.
📼 Swift Perfomance
Сессия поясняет то, как именно Swift обеспечивает баланс производительности. Приводят примеры разных функций Swift и способы их реализации, чтобы лучше понять возможные потенциальные проблемы, влияющие на перфоманс.
Можно глубже погрузиться в основы выделения памяти, memory layout в целом, дженерики, замыкания, в общем - топ и в закладки.
📼 Подборка анимаций c WWDC c примерами кода
Новые анимации скролла, эффекты, все с примерами.
📼 Показатели производительности в AVFoundation
Все, кто работал с видео, компрессией или даже просто использовал AVPlayer, знают, как мало документации и примеров по этому разделу. В этой сессии рассказывают, какие метрики стоит учитывать, и как они влияют на перфоманс.
📼 Run, Break, Inspect: Исследуйте эффективную отладку в LLDB
Показывают, как максимально эффективно использовать крашлоги и бэктрейсы, а также как прокачать брейкпоинты с помощью действий и сложных условий. А ещё особое внимание уделено команде «p» и новым возможностям Swift, которые улучшат опыт отладки.
📼 Swift Testing
Можно узнать, как написать набор тестов, используя встроенные функции. Как расширять существующие тесты, чтобы охватить больше сценариев, организовать тесты в различных окружениях и оптимизировать тесты для параллельного выполнения.
📼 База в Xcode
Рассказывают о популярных фишках Xcode, которые помогут ускорить разработку.
📼 Миграция на Swift 6
Можно узнать, как перевести существующее приложение на Swift 6 на реальном примере. Рассказывают об опции переноса модуль за модулем, и как компилятор помогает выявить код, подверженный риску гонок данных. Рассказывают про изоляцию и то, как решить проблему одновременного доступа к общему изменяемому состоянию.✅ Большая статья и разбор изоляции есть на бусти.
📼 Что нового в UIKit
Узнайте обо всем новом в UIKit, в том числе об удобстве запуска вкладок и документов, переходах, изменениях текста и ввода. Также рассказывают про совместимость анимаций и жестов UIKit и SwiftUI, а также общие улучшения во всем UIKit.
Конечно, лучше смотреть их в своём темпе, у меня даже с некоторых прошлых WWDC что-то осталось на исследование.
А если вам понравилось WWDC (трансляция, анонсы и разборы), то вы можете:
❤️🔥Поставить лайк •
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥45 11🔥8👍6🎉2✍1🤩1👌1💯1🏆1
Память: ARC, side table, флаги, утечки и многое другое
🧠 Одна из основных тем в разработке — управление памятью. Наверняка каждый сталкивался в своей работе с проблемами, связанными с утечками и искал, как их решить.
В своём канале я регулярно делюсь советами и исследованиями на эту тему, более того, в приложении есть целая пачка вопросов на эту тему.
🧠 Уже сегодня в iOS IQ добавлена новая большая секция, которая отвечает на многие из этих вопросов.
Поэтому, если вы хотели бы расширить арсенал своих знаний и узнать больше об ARC, side table или тому, что приводит к утечкам памяти, уже сейчас доступно несколько десятков вопросов с разными уровнями сложности:
✅ Подпишитесь на сайте или в телеграме (на год - выгоднее).
😃 iOS Dev
🧠 Одна из основных тем в разработке — управление памятью. Наверняка каждый сталкивался в своей работе с проблемами, связанными с утечками и искал, как их решить.
В своём канале я регулярно делюсь советами и исследованиями на эту тему, более того, в приложении есть целая пачка вопросов на эту тему.
Поэтому, если вы хотели бы расширить арсенал своих знаний и узнать больше об ARC, side table или тому, что приводит к утечкам памяти, уже сейчас доступно несколько десятков вопросов с разными уровнями сложности:
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимации в стиле Siri в iOS 18
Siddhant Mehta и Meng To использовали комбинацию из Mesh Gradient (пример вы можете увидеть в моём посте выше) и ripple-эффекта.
🛠 Исходный код проекта доступен на github.
📺 Сессия с примерами анимаций вот тут.
😃 iOS Dev
Siddhant Mehta и Meng To использовали комбинацию из Mesh Gradient (пример вы можете увидеть в моём посте выше) и ripple-эффекта.
🛠 Исходный код проекта доступен на github.
📺 Сессия с примерами анимаций вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥19 13☃1👏1💯1🏆1🎄1 1
UIKit: подборка теоретических материалов и вопросы
Конечно, SwiftUI набирает обороты и после добавления последних фич (в том числе и по навигации) с ним станет приятнее работать.
Но несмотря на это, подавляющее большинство проектов используют UIKIt, а вопросы на собеседованиях до сих пор строятся вокруг него.
У меня собралось большое количество материалов и вопросов за время разработки и проведенных интервью, поэтому я решил добавить новую секцию и в iOS IQ.
В ней вы увидите не только классические вопросы по типу отличий frame от bounds или особенности Responder Chain, но и ряд нестандартных вещей, которые так или иначе используются в нашей работе.
Постарался подкрепить и примерами с кодом, и привел примеры реализации.
✅ Подписаться можно здесь и вот тут.
✅ Секретная ссылка со скидкой здесь: ссылка .
😃 iOS Dev
Конечно, SwiftUI набирает обороты и после добавления последних фич (в том числе и по навигации) с ним станет приятнее работать.
Но несмотря на это, подавляющее большинство проектов используют UIKIt, а вопросы на собеседованиях до сих пор строятся вокруг него.
У меня собралось большое количество материалов и вопросов за время разработки и проведенных интервью, поэтому я решил добавить новую секцию и в iOS IQ.
В ней вы увидите не только классические вопросы по типу отличий frame от bounds или особенности Responder Chain, но и ряд нестандартных вещей, которые так или иначе используются в нашей работе.
Постарался подкрепить и примерами с кодом, и привел примеры реализации.
🧠 Что вы получите, подписавшись сегодня:➡️ Вопросы на чтение кода➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры➡️ Память: ARC, side table, флаги, утечки✅ А также доступ в закрытый чат, ранние релизы приложения iOS IQ, тонну теории и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16 9🔥6⚡2💯2🤝2☃1🏆1🎅1🎄1
NotPrivateAPIs — проект, который раскрывает некоторые приватные API
❗️ Конечно, их нельзя использовать в рабочих проектах и выкладывать в App Store.
Например, меню со своими элементами это вообще та ещё задача (посмотрите реакции в Messages над сообщением, или реализацию в телеграме).
📖 Morris Richman собрал в одном месте вещи, которые юзает Apple: например, как добавить кастомный хэдер в UIAlertController или как поменять иконку приложения без предупреждения пользователя.
😃 iOS Dev
Например, меню со своими элементами это вообще та ещё задача (посмотрите реакции в Messages над сообщением, или реализацию в телеграме).
📖 Morris Richman собрал в одном месте вещи, которые юзает Apple: например, как добавить кастомный хэдер в UIAlertController или как поменять иконку приложения без предупреждения пользователя.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как iOS 18 улучшает работу с градиентами
Очень часто в проектах разработчики используют дополнительный градиент, чтобы создать контраст между фоном и текстом.
*Или используют заранее заготовленный ассет в каталоге ресурсов.
Однако при таком использовании линейного градиента будут видны перепады яркости и резкий переход.
📖 В iOS 18 доступно новое API для смешивания цветов. Поэтому, используя
Пример использования под катом (разверните, чтобы посмотреть):
📖 Почитать дополнительно про смешивание цветов можно в этой статье.
😃 iOS Dev • больше разборов тут
Очень часто в проектах разработчики используют дополнительный градиент, чтобы создать контраст между фоном и текстом.
Однако при таком использовании линейного градиента будут видны перепады яркости и резкий переход.
📖 В iOS 18 доступно новое API для смешивания цветов. Поэтому, используя
UnitCurve
, можно интерполировать цвета с помощью встроенных или кастомных кривых Безье, чтобы обеспечить плавность перехода.Пример использования под катом (разверните, чтобы посмотреть):
extension Gradient {
init(from: Color, to:Color, with curve:UnitCurve, steps:Int = 10) {
let colors = stride(from: 0.0, through: 1.0, by: 1.0 / Double(steps))
.map { f in
from.mix(with: to, by: curve.value(at: f))
}
self.init(colors: colors)
}
}
📖 Почитать дополнительно про смешивание цветов можно в этой статье.
Please open Telegram to view this post
VIEW IN TELEGRAM