fa
Feedback
iOS Dev

iOS Dev

رفتن به کانال در Telegram

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

نمایش بیشتر
7 884
مشترکین
+524 ساعت
-57 روز
-5430 روز
آرشیو پست ها
iOS Dev
7 884
Эффект липкого pull-to-refresh в SwiftUI 📺 На канале Kavsoft выложили полезный и несложный туториал для создания эффекта лоадера с морфингом из Dynamic Island. 📖 А ещё одну демонстрацию похожего стиля можно посмотреть в этом посте. 😃 iOS Dev

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

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

iOS Dev
7 884
Морфинг текста на 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 884
⚡ Сайты github, google и apple в РФ недоступны По данным хабра, Git и вообще доступ к репам без доп сетевых средств сейчас не
Сайты github, google и apple в РФ недоступны По данным хабра, Git и вообще доступ к репам без доп сетевых средств сейчас невозможен. 😃 iOS Dev

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

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

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

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

iOS Dev
7 884
Собираем краши в iOS 27 c помощью CrashReportExtension С помощью нового фреймворка можно анализировать и безопасно отправлять
Собираем краши в iOS 27 c помощью CrashReportExtension С помощью нового фреймворка можно анализировать и безопасно отправлять отчеты прямиком на свой бэкенд, не привязываясь к сторонним SDK. Для этого нужно создать отдельное расширение CrashReporterExtension. Кстати, его особенность в том, что оно запускается в отдельном изолированном процессе, полностью независимо от нашей крашнутой приложухи. Когда приложение упадёт, система автоматически вызовет наше расширение и передаст ему метод processCrashReport. В коде это выглядит так:
@main struct MyCrashExtension: CrashReporterExtension { func processCrashReport(process: CrashedProcess) { // Получаем доступ к данным упавшего процесса let corpsePort = process.corpsePort let images = process.binaryImages // 1. Формируем свой краш-репорт // 2. Сохраняем на диск или шлем на сервер } }
Через CrashedProcess можно получить corpsePort и доступ к загруженным бинарникам, на основе чего уже можно сформировать дамп для отладки. Хотя подавляющее большинство юзает Firebase или Sentry, ещё одна альтернатива нам не помешает. ➡️ Список всех новых фреймворков iOS 27. 😃 iOS Dev

iOS Dev
7 884

iOS Dev
7 884
Master of puppets В детстве у моих одноклассников частенько можно было встретить рюкзаки с металликой, а у части были с надпи
+5
Master of puppets В детстве у моих одноклассников частенько можно было встретить рюкзаки с металликой, а у части были с надписью ГрОб (но это другая история). Так вот, тогда металлика казалась чем-то с другой планеты, ну как супергерои, которых не существует или звезды, которых никогда не достичь. Но пару десятков лет спустя я рад, что появляются возможности оказаться где-то рядом. Вчера посетил первый из двух закрывающих концертов M72. И черт возьми, всем бы столько сил, как у Хэтфилда в его 60+. Интересно, что на одну из песен со всей этой движухой с ии можно взглянуть и по-другому. Можно ли назвать человека, который использует десятки агентов, master of puppets? Думаем. 😃 iOS Dev

iOS Dev
7 884
Акторы в Swift - примеры использования и подводные камни Акторы обеспечивают выполнение кода в определенном потоке. Введенные
Акторы в Swift - примеры использования и подводные камни Акторы обеспечивают выполнение кода в определенном потоке. Введенные в Swift 5.5, акторы помогают нам писать потокобезопасный, и что не менее важно, предсказуемый код при работе с асинхронными задачами. Про ряд экспериментов с акторами и ловушки, которые могут предостерегать даже опытных разработчиков, можно почитать в этом посте. А в развёрнутой статье на бусти аккумулировал огромное количество тонкостей, в частности: что такое actor, как работает изоляция, почему await внутри актора может быть опаснее, чем кажется, да и вообще что изменилось в Swift 6.x и Swift 6.4. Весь код, все примеры и многое другое: 💰 На бусти и ⭐️ в телеграме.
🧠 Что вы получите ещё, подписавшись: ➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы) ➡️Вопросы на чтение кода (несколько уровней: простых, посложнее) ➡️Многопоточность ➡️DispatchQueue: практические вопросы ➡️Swift Concurrency ➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач) ➡️Память: ARC, side table, флаги, утечки ➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS ➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом) ➡️Утечки памяти в Swift: что с ними делать, как предотвратить? ➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
В трибьюте и бусти действует шикарное вводное предложение. 😃 iOS Dev

iOS Dev
7 884
Memberwise Initializer в Swift 6.4 на примерах В отличие от дефолтного, структура получает покомпонентный инициализатор, даже если она имеет свойства, не имеющие значений по умолчанию. Но До Swift 6.4 приватные хранимые свойства со значениями по умолчанию мягко говоря были неудобными, так как вот такая история была бы невалидна:
struct Article { let title: String let url: URL private var readCount: Int = 0 } // You would expect this to work, but it does not before Swift 6.4: let article = Article( title: "Memberwise Initializers in Swift", url: URL(string: "https://www.avanderlee.com")! )
📖 В этой статье разбирается, что изменилось в Swift 6.4 благодаря SE-0502. А множество других подводных камней разбиралось в статье из вот этого поста. 😃 iOS Dev

iOS Dev
7 884
😆 Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов Автор Caveman заметил, что значительная
😆 Компании стали внедрять стиль речи неандертальцев в чат-боты для экономии токенов Автор Caveman заметил, что значительная часть бюджета расходуется на болтовню языковых моделей. Его инструмент удаляет слова-связки, приветствия и просто вводный текст, сохраняя при этом сам код. Кстати, в репу кейвмана коммитил и техдир Open AI. Мне кажется, что это безумно смешно. Пока все ждут возвращения Fable для всех, настоящий изумруд не за горами в виде какой-нибудь модели AI «Питекантроп». И тогда надо делать опрос, не в какой компании быстрее деградирует iOS-разработчик, а и использованием какого ИИ. Так и представляю общение через этот чат-бот в стиле бунга-вунга. 😃 iOS Dev

iOS Dev
7 884
SwiftOS - экспериментальный проект по созданию настоящей операционной системы с помощью embedded Swift Её автор, Андрей Сапунов, вместо того чтобы изучать концепции операционных систем только по книгам, решил, почему бы не создать собственную систему, чтобы разобраться, как взаимодействуют ядро, память и процессы. 🛠 Необычная история как минимум, код можно посмотреть на GitHub, а доки вот тут. 😃 iOS Dev

iOS Dev
7 884
🙆 В iOS 27 появился Recovery Mode Если при включении iPhone продолжить удерживать кнопку питания, появятся опции восстановле
🙆 В iOS 27 появился Recovery Mode Если при включении iPhone продолжить удерживать кнопку питания, появятся опции восстановления: 🔘 Recovery Assistant 🔘 Software Update 🔘 Diagnostics Mode 🔘 Erase All Content and Settings 🔘 Recovery Mode via Mac Один из сценариев, когда нам может пригодиться эта фича, если в процессе обновления в девайсе разрядится аккумулятор, например. 😃 iOS Dev

iOS Dev
7 884
Review Buddy - добавил полноценную мак-версию, ускорил краулер и кое-что ещё Топ-фича с переключением аппстора для того, чтобы узнать есть ли приложение где-то, кроме России, всё также доступна, даже если вы видите алерт - так нужно) Более того, она не теряет актуальности в связи с удалением приложений. Наконец перешёл на платную версию клаудфлейра и вместо 14 часов теперь полноценный снэпшот чартов делается примерно за три с половиной часа (может это не так быстро, но вообще-то не так и плохо!). Ещё докрутил скраппер, чтобы полноценно срезать оценки по кастомным сторам (с разбивкой не только по среднему, но и по конкретному количеству оценок). Как и прежде, из коробки доступно вообще всё, кроме пушей для одного избранного приложения. В расширенной версии есть пуши с новыми отзывами и смещением позиций (и бонусом ещё сравнение с компетиторами). 🏠 Скачать можно в App Store 😃 iOS Dev

iOS Dev
7 884
Зона интересов Печально, когда мобильные разработчики с ненулевой аудиторией оправдывают блокировки приложений. Когда верят что отсутствие конкуренции - это логичный шаг к цифровому суверенитету. Когда призывают к тому, что отключение оплаты в App Store - это путь к светлому и синтезированному, стерильному и такому радостному интернету. Когда костыли из сервисов для открытия заблокированных приложений считаются нормой. Когда мы должны объяснять старшему поколению что такое прокси, и почему внезапно они до нас не могут дозвониться. 2026 год за окном, интернет это буквально базовая необходимость. Но я понимаю, какая зона интересов у таких псевдоблогеров. Да и все мы понимаем. 😃 iOS Dev

iOS Dev
7 884