iOS Dev
7.88K subscribers
1.19K photos
150 videos
1 file
1.48K links
👨‍💻Автор: Виктор Грушевский (@Viktorianec)

⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru

🍏Канал об iOS-разработке, алгоритмах и архитектурах

⭐️ Подготовка к собесам

⭐️ Код. Много кода.

#ios #mobile #swift
Download Telegram
Глава СПЧ заявил о невозможности запретить и «выключить» VPN

Да вы что, как говорится.

Запретить или вообще выключить сервисы VPN в России невозможно, заявил РБК председатель Совета по правам человека и развитию гражданского общества (СПЧ) Валерий Фадеев, комментируя целесообразность дополнительного законодательного регулирования использования таких сервисов.

По словам Фадеева, сейчас «это стало ясно всем, а специалистам стало ясно давно». «Здесь и предприятия, и банки, и программисты, которые скачивают коды, и так далее. Это лишь средство, закрытый канал связи, который используют миллионы контрагентов. Я никогда не говорил, что надо VPN закрыть», — пояснил он.

Ну, конечно, раз программисты скачивают коды, а не вся инфра отвалилась у кучи структур из-за этих ограничений.

И оплату в сторе верните через моб операторов хотя бы!

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥29👏1310🤯3😱2
Доклады с конференции try! Swift Tokyo 2026

Опубликовали плейлист всех докладов с конференции, прошедшей в Токио.

На что точно можно взглянуть:

📺 Swift Concurrency Type System

📺 The hidden power of Async Sequences

📺 Why is SwiftUI like that?

📺 Целиком все доклады можно посмотреть вот тут.

А вот тут есть список прошлых конференций:
🔗 Подборка докладов с iOS Conf SG 2024
🔗 Подборка докладов с конференции Swift Craft
🔗 Доклады с конференции try! Swift Tokyo 2024
🔗 Подборка докладов с конференции Swift Connection 2024
🔗
iOS Conf SG 2025: подборка докладов


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
821👍8👏6🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
Лучшие практики и подводные камни при работе с URLSession

Выкатил сумасшедшую по размеру статью, которая охватывает огромное количество аспектов при работе с URLSession.

Про конфиги, политики кэширования, переходы между стейтами задач и многое другое.

За 4 года в канале собралось несколько десятков постов, в которых я делился и своими наработками, и докладами наших коллег.

Тут и про вебсокеты, и про то, что можно протестить в первую очередь.

Ну и без анимаций не обошлось, а как иначе.

📖 Почитать статью целиком можно здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
2231🔥15👏9👍3❤‍🔥1
Почему я почти не спорю в интернете

Порой интернет-дискуссии, особенно в каких-то кулуарах, могут растекаться на тысячи комментариев, что безусловно весело для наблюдателя, но изматывающе в большинстве случаев для участников.

Крч, есть забавная штука, которую вы если не слышали, но подозревали:

«На опровержение чуши требуется энергии на порядок больше, чем для её создания».

У этого даже термин собственный есть.

Мне с головой хватает разбора пуллреквестов и ТЗ по самым разным вещам на работе, после которых не остаётся сил кому-то что-то доказывать, ведь в интернете абсолютно всегда кто-то неправ.

Например, ребята, которые пилят эмулятор для PS3, попросили перестать им слоповые PR, потому что на это нужно просто бесконечное количество времени.

Делайте то, что вам нравится, с остальным разберётесь (если захотите).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥2710🤝7🔥1🤗1😎1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22😱8🤣8👍21
Всплывающая карточка в SwiftUI с использованием safeAreaBar

Делюсь несложной реализацией реализации такой карточки с кнопкой call-to-action (и для 26 оси, и с фоллбэком для 18).

📖 Посмотреть код можно в этой статье.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍23🔥109👏3
This media is not supported in your browser
VIEW IN TELEGRAM
Make WWDC Great Again

Вчера общался с С-Level руководителем о предстоящем даб-дабе и мы вспомнили о том, что сейчас при показе новинок эпла и тем более конференций не хватает рок-н-ролла, эмоций, я уже не говорю про вау-эффект.

Все стерильное просто до жути: записанное видео, с одним и тем же монотонным описанием фич.

Помните легендарное видео у майкрософт, где Балмер скандировал Developers, developers, developers? Или Джобса с презентацией первого айфона, или показ макбука в конверте?

Ощущение, что сейчас WWDC превращается просто в ещё одну рекламу черт знает для кого. Инвайты, которые должны быть случайными - получают одни и те же медиа из года в год. А фичи, которые анонсируются, в лучшем случае, докатываются до нас спустя 3-4 релиза оси.

Да и про номинантов на WWDC можно сказать то же, где уникальные, самобытные, ни на что не похожие приложения? Ну ладно, как минимум одно есть.

Но блин, Киберпанк в претендентах, вот уж где неожиданность.

Дайте нам действительно необычные решения, покажите, что из миллионов приложений ребята делают что-то по-настоящему взрывающее мозг.

Я отказываюсь верить, что таких приложений нет.

Я хочу, чтобы на первый план снова вышли Разработчики - да, с большой буквы.

Не AI, не однотипные реализации одного и того же или приложение-реклама гигантской корпорации, а разработчики, идеи которых и сделали Apple триллионной компанией.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4710💯9👏2🤓1
Про реджекты в App Store

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤣65😁13💯6🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Настройка App Intents в SwiftUI-приложениях

При создании интента фича становится видимой для системы, что позволяет юзеру запускать её с помощью шорткатов или Siri.

📖 В этом руководстве можно посмотреть, как создавать свои интенты в деталях:

1️⃣ Как указать текст, который система должна отображать.

2️⃣ Как запросить у пользователя дополнительные параметры.

3️⃣ Как показать нужный диалог при взаимодействии с пользователям.

🛠 Код проекта доступен здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
617👍6👏42🔥2😨2
iOS Dev
формирование мягкой зависимости
А вот и ожидаемые плоды оптимизации в новом витке капиталистического мира

Одна из моих подписок - Google AI Pro решила наконец-то преследовать цели по наполнению денежных мешков и раскинула свои сети уверенно, без предупреждения - и с новой силой. Мы хотим быть как Claude (но лучше), написано в письме просто завуалированно.

Нужна новая серия того самого мультсериала, только с переделкой про токены: берёте ваши деньги, покупаете токены - иииии, их нет.

А ещё учитывая недавно анонсированные изменения в поиске ожидаю, что скоро все смогут делать 3 бесплатных запроса в гугле в день, а остальное за дополнительную плату.

🤬 Как считаете, хороший шаг от корпорации добра?

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
9😱16🤬10👎5💯3❤‍🔥2👍2😨2🎉1😎11
This media is not supported in your browser
VIEW IN TELEGRAM
Прототип Star Wars с помощью AirPods и датчиков движения

Наткнулся на необычное использование трека движений в SwiftUI.

Видел несколько приложений для слежения за осанкой, но этот концепт тоже интересный.

🔥 Если кайфовая идея.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥9315👏9👍3💯2
This media is not supported in your browser
VIEW IN TELEGRAM
🎉 Это мой нулевой километр

Сегодня мой День Рождения, и мне хочется загадать одно желание.

Хотя в канале 95% про iOS, про разработку и всё, что с ней связано, иногда я пишу про то, что может быть интересно, о надежде, о том, что чувство юмора может помочь даже в сложных ситуациях.

Я помню ЧМ 2018 в России, помню счастливые мгновения для нашей страны и ногу Акинфеева (удачно сложилось и в тот самый момент я был на стадионе). Помню золотую олимпиаду для наших хоккеистов за полгода до этого. Помню каждое из этих мгновений, когда гордость переполняла каждую клетку и что уж там, душу. Кстати, помните ещё где-то там появился мем «Все на Никольскую!»?

Так вот. Я сегодня не хочу желать чего-то для себя лично.

Я хочу верить, что мы все ещё скажем «Все на Никольскую!» по счастливому поводу.

И по нерегулярной традиции поделюсь цитатой Терри Пратчетта:

Люди редко останавливаются для размышлений – обычно они думают на ходу. Ну и зря. Иногда остановиться совсем не вредно, особенно если идёшь в неправильном направлении.


❤️‍🔥 Спасибо Вам, что читаете этот канал.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
15❤‍🔥109🎉34🔥12👍4🙏31
От WebView к CoreText: создание собственной читалки EPUB для iOS

Разработчик делится, почему ему пришлось перейти на на путь рендеринга CoreText вместо стандартной практики с использованием WebView.

А ещё можно узнать, как он пришёл к тому, что хотел изначально: структура EPUB из экосистемы, встроенное взаимодействие iOS, нумерация страниц, CoreText, стабильная позиция чтения по координатам контента и типографика CJK как основное требование.

📖 Про детали можно почитать в этом посте.

🛠 К слову, сама читалка опенсорсная, и реализацию можно посмотреть на GitHub.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
816🔥12👏3👍2🤯1😱1
Использование инструментов Xcode для оптимизации кода с Swift Concurrency

Антуан ван дер Ли выпустил видео, в котором делится ещё одним взглядом на инструментарий.

В частности, он показывает, как можно анализировать стату в рантайме, как визуализировать состояние Swift-тасок. А ещё можно посмотреть на взаимосвязи в виде графиков для структурированного параллелизма, и как таски влияют на CPU.

📖 Обзорная статья здесь.

📺 А видео посмотреть можно тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
820🔥10👍3👏1🤯1🤝1
Как скрыть стандартную модалку с крашами Xcode

Если у вас по какой-то причине Xcode слишком часто падает и надоело постоянно видеть эти огромные крашлоги, то может помочь этот способ от Стефана Касаса:

𝚍𝚎𝚏𝚊𝚞𝚕𝚝𝚜 𝚠𝚛𝚒𝚝𝚎 𝚌𝚘𝚖.𝚊𝚙𝚙𝚕𝚎.𝙲𝚛𝚊𝚜𝚑𝚁𝚎𝚙𝚘𝚛𝚝𝚎𝚛 𝚄𝚜𝚎𝚄𝙽𝙲 -𝚋𝚘𝚘𝚕 𝚈𝙴𝚂


А ещё можно установить Additional tools для Xcode и настроить больше опций в Crash Reporter Prefs.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥148👍51👏1😁1
Распознаём текст на изображениях с помощью Vision

Статья Дэниела Саиди посвящена работе с Vision-фреймворком, в особенности, работе с многострочным текстом и группировке текста в осмысленные абзацы.

📖 Почитать можно вот тут.

📺 А отдельная WWDC-сессия доступна здесь.

Кстати, в канале можно чекнуть и способы определения контуров на изображениях, и то, как создавать собственные стикеры с помощью этого фреймворка.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥1410👍41👏1
This media is not supported in your browser
VIEW IN TELEGRAM
iOS-разработчик использует Claude Opus 4.8, чтобы изменить цвет кнопки и подвинуть её на 2 пикселя вниз

Помните, курение вредит вашему здоровью.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁84🤣28🎉3🤓3🤗2🔥1🎅11
This media is not supported in your browser
VIEW IN TELEGRAM
Разбор проблем с анимацией в SwiftUI List

В статье рассмотрено несколько трудностей, связанных с изменением высоты строк в списках внутри наших приложений.

Есть и пример реализации своего кастомного лэйаута для решения этих сложностей.

📖 Статью почитать можно здесь, а посмотреть на исходный код вот тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
712👍7🔥6👏3🤯2🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓14🔥97😨5👍3👏3🎅1
Обзор Swift Sendable: предотвращение гонки данных на этапе компиляции

До появления Swift Concurrency существовала вероятность того, что несколько потоков могли одновременно получить доступ к изменяемому состоянию.

Эти ошибки были мягко говоря трудновоспроизводимы, да и приложение могло нормально работать месяцами, а затем внезапно начать крашиться уже на проде.

В Swift Concurrency используется другой подход:

Вместо того, чтобы пытаться обнаружить гонки данных в рантайме, Swift пытается в первую очередь предотвратить их появление.


И как раз в центре этой системы находится протокол Sendable.

📖 В статье разбирается, как он работает, в очередной раз можно узнать, что вообще представляет собой гонка данных, почему это опасно и как Swift помогает не допустить их появление в нашем коде.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
513🔥5👍2😨21🍓1