uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

iOS Dev

iOS Dev

Відкрити в Telegram

👨‍💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift

Показати більше
7 942
Підписники
-324 години
+137 днів
+4330 днів
Архів дописів
iOS Dev
7 942
Библиотека лоадеров для работы с Foundation Models Когда-то я делился примерами красоты с помощью математики. Но если подрубить TimelineView, Canvas и немного воображения, сейчас можно создать намного более весёлые и интересные кейсы. Например, скорее всего если вы отдаете юзерам инфу поэтапно (или генерите изображения), а ваши модельки крутятся долго, и как раз в этот момент совершенно точно что-то нужно показывать. Для этого можно создать библиотеку компонентов и юзать любую комбинацию, хоть разбивать поэтапно и показывать последовательность, хоть показывать какой-то один из них. Вот, например, кит, который используется на гифке, которую вы видите:
enum LoaderKit { static let goldenAngle = Double.pi * (3 - (5.0).squareRoot()) static func fibonacciSphere(_ count: Int) -> [LDVec3] { guard count > 1 else { return [LDVec3(x: 0, y: 0, z: 0)] } var pts: [LDVec3] = [] pts.reserveCapacity(count) for i in 0..<count { let y = 1 - (Double(i) / Double(count - 1)) * 2 // 1 … -1 let r = (1 - y * y).squareRoot() let phi = Double(i) * goldenAngle pts.append(LDVec3(x: cos(phi) * r, y: y, z: sin(phi) * r)) } return pts } static func rotateY(_ p: LDVec3, _ a: Double) -> LDVec3 { let c = cos(a), s = sin(a) return LDVec3(x: p.x * c + p.z * s, y: p.y, z: -p.x * s + p.z * c) } static func rotateX(_ p: LDVec3, _ a: Double) -> LDVec3 { let c = cos(a), s = sin(a) return LDVec3(x: p.x, y: p.y * c - p.z * s, z: p.y * s + p.z * c) } static func rotateZ(_ p: LDVec3, _ a: Double) -> LDVec3 { let c = cos(a), s = sin(a) return LDVec3(x: p.x * c - p.y * s, y: p.x * s + p.y * c, z: p.z) } static func dot(_ x: CGFloat, _ y: CGFloat, _ r: CGFloat) -> Path { Path(ellipseIn: CGRect(x: x - r, y: y - r, width: r * 2, height: r * 2)) } static func hash(_ i: Int, _ salt: Double = 0) -> Double { let v = sin(Double(i) * 12.9898 + salt * 78.233 + 0.5) * 43758.5453 return v - v.rounded(.down) } static func lerp(_ a: Double, _ b: Double, _ t: Double) -> Double { a + (b - a) * t } static func smoothstep(_ t: Double) -> Double { let x = min(max(t, 0), 1); return x * x * (3 - 2 * x) } static func easeOut(_ t: Double) -> Double { 1 - pow(1 - min(max(t, 0), 1), 3) } }
А целиком примеры уже доступны: ⭐️ здесь или 💰 тут. 😃 iOS Dev

iOS Dev
7 942
Создание адаптивных немодальных панелей в SwiftUI 📖 В этой статье рассказано, как создать собственные стили для таких панеле
Создание адаптивных немодальных панелей в SwiftUI 📖 В этой статье рассказано, как создать собственные стили для таких панелей, а также описаны решения, которые позволили обеспечить поддержку и потретного, и альбомного режимов. 😃 iOS Dev

iOS Dev
7 942
Пасхалки в крашлогах Apple с помощью hexspeak Помните, когда-то на калькуляторах можно было писать всякие прикольные слова с помощью цифр? Оказывается, есть специальный термин hexspeak, целая форма правописания с использованием шестнадцатеричных цифр. Apple не остался в стороне и несколько кодов завершения также написаны в этом стиле:
0xdead10cc (dead lock) - приложение удерживает системный ресурс во время работы в фоновом режиме. 0x8badf00d (ate bad food) - watchdog убивает за слишком долгую блокировку основного потока при запуске или возобновлении. 0xc00010ff (cool off) - используется Apple в отчетах о крашах iOS, когда приложение было закрыто в ответ на термическое событие. 0xdeadfa11 (dead fall) - юзер принудительно закрыл зависшее приложение. 0xbad22222 (bad too repeatedly) - VoIP-приложуху крашнул iOS, поскольку оно возобновлялось слишком часто. 0xbaaaaaad (baaaaad) - лог представляет собой снимок состояния всей системы, не отчет о краше. 0xdeadfeed (dead feed) - краш из-за превышения таймаута при запуске службы.
Да и вообще, рекомендую посмотреть вики, там много любопытных отсылок, есть даже Ace of Base 🎵 😃 iOS Dev

iOS Dev
7 942
В Яндексе бьют людей? Добрался до разбора доклада про внедрение AI, в котором руководитель мобильной разработки заявляет на весь зал, что у них бьют людей (не буквально, это важно) за то, что при использовании ИИ-агентов они отдают вопросы при комментах в пулл-реквестах для LLM. Ну, даже не знаю как это комментировать. В целом, все прогнозы сбываются. Вроде и продвигают ИИ в массы, а вроде и с оговорками. 😃 iOS Dev

iOS Dev
7 942
Пересмотр модульной архитектуры iOS-приложения компании JET в 2026 году Незначительная проблема с одним из UI-компонентов выя
Пересмотр модульной архитектуры iOS-приложения компании JET в 2026 году Незначительная проблема с одним из UI-компонентов выявила проблемы существующей прежде модели и это стало триггером к пересмотру концепта целиком. В обновленном подходе каждый компонент классифицируется по своей роли, а не по тому, где он находится в графе зависимостей. Как следствие, в JET ввели пять категорий. Три из них относятся к собственным компонентам (App, Feature, Foundation); две - к сторонним зависимостям (SDK, Utility). 📖 Про то, что у них получилось, и как работает всё вместе - можно почитать в техническом блоге. 😃 iOS Dev

iOS Dev
7 942
Мир прототипов Я пилю приложения уже больше 15 лет и за это время увидел рассвет и закат многих проектов: от первых мессенджеров ВК до яндекс.музыки (последнее обновление никуда не годится) и крупных игровых тайтлов, да и вообще, если мы входим в эпоху, когда игры на плойке будут только в цифре - это уже не звоночек, это чёртов колокол. Последние пару-тройку лет постоянно слышу: я сделал аналог ноушена, я запустил агрегатор новостей за день, я выпустил собственный браузер. Ага, конечно. Оказывается, что там надо немного допилить (процентов 90), скачиваний у ребят миллионы (1-2 в неделю), а графики так и вовсе нарисованы какой-нибудь нейросеткой. Ну с графиками хотя бы будет повеселее: вы же в курсе, что крупные ии-игроки добавляют паттерны в свои изображения, по которым можно отличить ии-слоп? Если нет, теперь в курсе. Я к тому, что всё что изменилось - только количество: если раньше плохих приложений было 10, то теперь их будет 1 000 000, но качество не улучшилось ни на йоту. Лагающего, неповоротливого, одинакового стало ожидаемо намного больше. Много ума не надо - отдать диз чего угодно клоду/кодексу (нужное подчеркнуть) и на выходе получить прототип. А потом неделями, месяцами, годами допиливать до хотя бы какого-нибудь приемлемого уровня. Это разве прорыв? Даже телега в последнее время не радует. Что уж говорить об остальных. Если кто-то смотрел ЧМ, то заметили что нейрослоп заполонил и рекламу. Так и представляю, как ушлые маркетологи говорят: ну мы сделаем почти похоже на настоящую, только дешевле, будет почти также. Нет, не почти - это беспросветный, вымученный, чудовищный, вырвиглазный со слабой аурой стиль, за реализацию которой наверняка кто-то получит премию. Когда с таким количеством ресурсов пользователям отдают это - становится по-настоящему страшно за индустрию. Страшно, что мы уже живём в мире прототипов. 😃 iOS Dev

iOS Dev
7 942
🫨 ИИ-модели от OpenAI вышли из-под контроля и устроили хакерскую атаку Недавно компании OpenAI и Hugging Face (возможно, главный хаб для моделей, его я юзал например, вот тут) столкнулись с беспрецедентным инцидентом кибербезопасности, вызванным автономными действиями ИИ-агентов во время внутреннего тестирования. Стремясь любой ценой решить поставленную задачу, модели смогли вырваться из песочницы и получить доступ к hugging face. ИИ самостоятельно обнаружил и проэксплуатировал уязвимость нулевого дня во внутреннем прокси-сервере и использовал украденные учетки. Службы безопасности Hugging Face сумели оперативно обнаружить аномальную активность и пресечь её после инцидента. OpenAI выпустили пресс-релиз со всеми подробностями. Берегите свои креды с молоду, как говорится. 😃 iOS Dev

iOS Dev
7 942
Зарплаты IT-специалистов в первой половине 2026: Objective-C всё еще самый доходный Уровень компенсации для топовых разрабов,
Зарплаты IT-специалистов в первой половине 2026: Objective-C всё еще самый доходный Уровень компенсации для топовых разрабов, знающих Objective-C не только возглавляет таблицу, но ещё и лидер по темпу, +13%.
💰 Доход разработчиков на Objective-C: 400 000 рублей.
Ощутимо зарплаты выросли и в Swift (на 7% до 326 000 ₽), котлин тоже прибавил на 5% до 320 000 ₽. К слову, Авито больше не номер один среди компаний, перехватил эстафетную палочку Райффайзен Банк (+9%, 400 000 - медиана). В целом, ситуация на рынке такая, что медианная зарплата на IT-рынке сейчас — 191 000. 📖 Остальная аналитика доступна на хабре. Прошлые обзоры - вот тут. 😃 iOS Dev

iOS Dev
7 942
Скинули график сна iOS-разработчика на фоне последних новостей 😃 iOS Dev
Скинули график сна iOS-разработчика на фоне последних новостей 😃 iOS Dev

iOS Dev
7 942

iOS Dev
7 942
🫨 Проблемы с AppStore в РФ По данным хабра магазин приложений AppStore начал нестабильно работать в России. У части пользова
🫨 Проблемы с AppStore в РФ По данным хабра магазин приложений AppStore начал нестабильно работать в России. У части пользователей сервисы AppStore не работают вовсе (без специальных сетевых средств). Похоже, что проблемы с прошлой недели продолжаются. 😃 iOS Dev

iOS Dev
7 942
Эффект липкого pull-to-refresh в SwiftUI 📺 На канале Kavsoft выложили полезный и несложный туториал для создания эффекта лоадера с морфингом из Dynamic Island. 📖 А ещё одну демонстрацию похожего стиля можно посмотреть в этом посте. 😃 iOS Dev

iOS Dev
7 942
⚡Приложения VK и МАХ исчезли из Google Play Пресс-служба ВК сообщила, что пользователи Android-устройств продолжат получать пуш-уведомления о сообщениях, событиях и звонках в МАХ и приложениях VK. 😃 iOS Dev

iOS Dev
7 942
OpenAI выпустили первое физическое устройство Codex Micro Стоит 230 долларов. Видео с примерами работы - тут. 😃 iOS Dev
OpenAI выпустили первое физическое устройство Codex Micro Стоит 230 долларов. Видео с примерами работы - тут. 😃 iOS Dev

iOS Dev
7 942
Морфинг текста на SwiftUI в 50 строк кода Вы же помните, что я просто обожаю необычные эффекты) Вот как тут, например - с принтером и анимацией отчётов за пару десятков строк кода. Или в стиле tap to cash (до сих пор прилетают запросы где взять туториал). Так вот, делюсь одним необычным и несложным эффектом - вдохновиться можете где-нибудь здесь. А по факту у нас два текста кроссфейдятся с анимированным блюром, а с помощью шейдера поверх мы режем альфу по заданному порогу. В общем из-за этого размытые буквы «слипаются» и перетекают друг в друга, как жидкость) Если разобраться, как такое сделать, можно удивиться, насколько все просто (это аналог feColorMatrix "0 0 0 255 -140" из примера выше):
#include <metal_stdlib> #include <SwiftUI/SwiftUI_Metal.h> using namespace metal; [[stitchable]] half4 textMorphThreshold(float2 position, SwiftUI::Layer layer, float4 bounds, float threshold, float softness) { half4 c = layer.sample(position); float a = float(c.a); if (a < 1e-4) { return half4(0.0); } float na = smoothstep(threshold - softness, threshold + softness, a); float3 rgb = float3(c.rgb) / a; return half4(half3(rgb * na), half(na)); }
Ну а если вам все-таки нужен исходный код, вы можете прям переписать его с гифки или не терять время и найти его: ⭐️ здесь или 💰 тут. 😃 iOS Dev

iOS Dev
7 942
⚡ Сайты github, google и apple в РФ недоступны По данным хабра, Git и вообще доступ к репам без доп сетевых средств сейчас не
⚡ Сайты github, google и apple в РФ недоступны По данным хабра, Git и вообще доступ к репам без доп сетевых средств сейчас невозможен. 😃 iOS Dev

iOS Dev
7 942
Перетаскивание элементов в SwiftUI в iOS 27 Я уже делился примером с WWDC на счет появившихся опций (официальная дока здесь). 📖 В этой статье можно посмотреть более расширенную инструкцию и возможности работы нового API. 😃 iOS Dev

iOS Dev
7 942
А сегодня же пятница, а у каждого из нас множество мемов Предлагаю провести конкурс. С вас - смешной (ну или под тремя слоями
А сегодня же пятница, а у каждого из нас множество мемов Предлагаю провести конкурс. С вас - смешной (ну или под тремя слоями постиронии) мем про разработку, можно iOS, можно ИИ, да даже про жизнь. С меня NFT-подарок в телеге для победителя. Го в комменты) 😃 iOS Dev

iOS Dev
7 942
Новый скилл для дизайна в стиле Apple на основе WWDC-сессий Эмиль Ковальски отобрал 17 топовых принципов дизайна и анимаций,
Новый скилл для дизайна в стиле Apple на основе WWDC-сессий Эмиль Ковальски отобрал 17 топовых принципов дизайна и анимаций, легко транслируемый и для веба, например. 🛠 У репозитория уже более 7 000 звёзд. Если хотите огромную подборку скиллов, поставьте 👍. 😃 iOS Dev

iOS Dev
7 942
Изменение порядка для List и Grid с сохранением в SwiftData Стюарт Линч выпустил урок по работе со SwiftData. В нём он расска
Изменение порядка для List и Grid с сохранением в SwiftData Стюарт Линч выпустил урок по работе со SwiftData. В нём он рассказывает, как реализовать перетаскивание в LazyVGrid с помощью onDrag, onDrop и специального DropDelegate. 📺 А ещё в этом видео можно узнать, как:
• Перейти от локального состояния к @Query в SwiftData • Сохранять изменения пользовательского порядка сортировки при перезапуске приложухи • Добавлять элементы управления для редактирования (и добавления элементов) • Обрабатывать удаление строк с сохранением порядка сортировки • Создавать плавные анимации в сетке с помощью перетаскивания
😃 iOS Dev