ru
Feedback
iOS Dev

iOS Dev

Открыть в Telegram

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

Больше
8 003
Подписчики
+424 часа
+477 дней
+8230 день
Архив постов
iOS Dev
8 002
Apple Store Ковент-Гарден (Лондон) Посещение необычных или старых сторов эпл - одна из моих небольших традиций при поездках в
+8
Apple Store Ковент-Гарден (Лондон) Посещение необычных или старых сторов эпл - одна из моих небольших традиций при поездках в другие страны. 📸 В этот раз делюсь фотосетом одного из флагманских магазинов компании в Великобритании. Трехэтажный магазин, расположенный в здании, где раньше находился Rock Garden, привлекает огромное количество туристов. Каждое помещение посвящено одной из линеек продукции Apple, а главный двор полностью отдан под большие дубовые столы с десятками планшетов iPad, которые покупатели смогут опробовать. После оплаты они могут посетить «комнату настройки», где сотрудники Apple распакуют и настроят их новый гаджет. Забавный факт, даже если у компании что-то пойдет не так, то на продаже этой недвижимости они смогут заработать невероятно крупную сумму денег, ведь адрес этого красивого здания - London, The Plaza, 1. Около десяти лет назад в Ковент-Гардене было даже больше посетителей, чем на пятом авеню в Нью-Йорке! Другие истории об эпл сторах: 🍏 Apple Store Marunouchi в Токио. 🍏 Apple Store в Купертино. 🍏 Apple Tower Theater в Лос-Анджелесе. 😃 iOS Dev

iOS Dev
8 002
Шаринг файлов с кастомными типами в iOS 📁 Если вы планируете использовать не только стандартные типы файлов на iOS, но и зас
Шаринг файлов с кастомными типами в iOS 📁 Если вы планируете использовать не только стандартные типы файлов на iOS, но и заставить систему распознать файл и открыть его в вашем приложении, вы можете использовать типы документов и идентификаторы экспортируемых типов. Это очень полезно при создании приложений для работы с документами, позволяющих экспортировать данные для резервного копирования или переноса между платформами. 📖 Вот тут есть инструкция с примером кода, как это сделать. 🐱 А в ноушне добавил пост, как можно переносить данные между своими приложениями в целом (около десятка вариантов). 😃 iOS IQ

iOS Dev
8 002
Создание 3D-элементов для iOS и VisionOS Meng To выпустил большое обучающее видео по работе со Spline. 📺 В этом видео можно
Создание 3D-элементов для iOS и VisionOS Meng To выпустил большое обучающее видео по работе со Spline. 📺 В этом видео можно узнать о следующих вещах: 1️⃣ Создание интерактивных 3D-сцен для приложений iOS и экспорт в Xcode 15+. 2️⃣ Работа над элементами для visionOS. 3️⃣ Пример создания 3D-иконок приложений и динамических анимаций интерфейса. 4️⃣ Расширенные возможности Spline, такие как частицы и физика для более реалистичных эффектов. 5️⃣ Введение в 3D-моделирование. 😃 iOS Dev

iOS Dev
8 002
TextView и что он скрывает: история разработки приложения Paper Уже более 9 лет Михаил Лапушкин работает над своим текстовым
TextView и что он скрывает: история разработки приложения Paper Уже более 9 лет Михаил Лапушкин работает над своим текстовым редактором. За это время он прошёл огромный путь, и в двух по-настоящему масштабных статьях делится тем, с какими подводными камнями ему пришлось столкнуться и, например, почему в приложении нет сторонних зависимостей. TextView — это огромный компонент, сложность которого только возрастает с каждым выпуском оси. Например, приложение TextEdit почти полностью состоит из одного TextView. Ну а когда один класс может быть использован для создания целого приложения, вы и сами понимаете, что это за зверь. 📖 В первой части Михаил рассказывает свою увлекательную историю приложения (об архитектуре, релизах, дебаге и не только). 📖 А во второй делится хардкорными вещами: работой с атрибутами, стилями, перфомансом, математикой для отрисовки и многим другим. 😃 iOS Dev • 🐱 Узнать больше об архитектурах

iOS Dev
8 002
Важное обновление AppStore Connect, новый сервис Apple Crash + В дополнение к последним изменениям, касающимся проверки досту
Важное обновление AppStore Connect, новый сервис Apple Crash + В дополнение к последним изменениям, касающимся проверки доступа к API и необходимости работы с privacy manifests в эппл приняли сегодня выкатили новую политику проверки приложений. Теперь review team будет проверять приложения только 3 раза после каждого реджекта. Все остальные проверки доступны платно. Доступно два вида подписки на Apple Crash +: 💵$ 9.99 в месяц – Apple Crash + безлимитные проверки приложений после первого реджекта. 💵$ 19.99 в месяц – все то же самое, что и в первой версии, но проверка приложений будет в течение часа после загрузки билда. Видимо, изменения вызваны упущенной выгодой в новых альтсторах. 📺 Детально изменения доступны на новом канале эпла в YouTube. 😃 iOS Dev

iOS Dev
8 002
Простая монетизация — инструмент для повышения доходов от рекламы Каждая студия мечтает больше фокусироваться на развитии про
Простая монетизация — инструмент для повышения доходов от рекламы Каждая студия мечтает больше фокусироваться на развитии проектов и меньше беспокоиться о бюджете на разработку. Один из способов обрести больше независимости — продуманная стратегия монетизации приложения. Опыт студии Starkom показывает, что повысить доходы от игр можно, настроив рекламную монетизацию. Студия решила сэкономить время и силы, поэтому подключила Простую монетизацию Яндекса. В результате разработчики стали зарабатывать в 4 раза больше на рекламе в приложениях. Например, в приложении Drift Legends еCPM выросла с 70 ₽ до 240 ₽. При этом сэкономили время и ресурсы — эксперты Простой монетизации сами проводят аудит приложения, настраивают рекламные блоки и единую систему медиации без участия партнёра. Всего за 10% с доходов от настроенной монетизации. Узнать подробнее о Простой монетизации и оставить заявку на подключение можно по ссылке: https://clck.ru/39kE6h?erid=2bL9aMPomHTWZFD1JYB2zKBypW

iOS Dev
8 002
Новый раздел в Develop in Swift от Apple 🤩 Тим Снит сегодня анонсировал новый набор туториалов для тех, кто только делает пе
Новый раздел в Develop in Swift от Apple 🤩 Тим Снит сегодня анонсировал новый набор туториалов для тех, кто только делает первые шаги в программировании с помощью Swift и SwiftUI. Для понимания даже не нужен предварительный опыт написания кода в целом, так что эти материалы могут стать отличным стартом. 📖 Обучающие материалы Apple доступны здесь. 😃 iOS DevРазбор алгоритмов

iOS Dev
8 002
SwiftUI Layout Protocol: как работать с версткой в SwiftUI Хотя создавать базовый лэйаут несложно, существует множество вариа
SwiftUI Layout Protocol: как работать с версткой в SwiftUI Хотя создавать базовый лэйаут несложно, существует множество вариантов, с которыми могут быть трудности. Ниже будут рассмотрены не только типичные примеры для Layout, но и ряд важных моментов для формирования базы. Весь материал состоит из двух больших частей, для удобства они сгруппированы по темам. Первая часть: ➡️ Что такое Layout Protocol? ➡️ Разбор View Hierarchy. ➡️ Первая реализация лэйаута. ➡️ Выравнивание контейнеров. ➡️ Кастомные значения: LayoutValueKey. ➡️ Дефолтный Spacing. ➡️ Для чего нужен Spacer(). ➡️ Layout Cache. ➡️ Переключение между лэйаутами с помощью AnyLayout. ➡️ Выводы. Вторая часть: ➡️ Пусть начнётся веселье! ➡️ Кастомные анимации. ➡️ Двунаправленные кастомные значения. ➡️ Избежание зацикливания и крашей. ➡️ Рекурсивные лэйауты. ➡️ Композиция лэйаутов. ➡️ Еще один пример композиции: Интерполяция. ➡️ Использование binding-параметров. ➡️ Полезный инструмент отладки. ➡️ Заключительные мысли. 🐱 Больше разборов, примеров анимаций, алгоритмов и архитектур — доступно вот здесь. 😃 iOS IQ

iOS Dev
8 002
Воспроизведение анимации с заставки WWDC 2024 В iOS IQ я стараюсь рассматривать не только важные моменты о разработке, но и необычные анимации и эффекты. Во вчерашней новости многие обратили внимание на сложный эффект в заставке. 🤩А Дэниел Кунц уже успел реализовать его с помощью метал-шейдера. 🐱 Получить доступ к реализации других необычных эффектов можно здесь. 😃 iOS IQ

iOS Dev
8 002
Новый источник знаний от Apple (в дополнение к анонсу WWDC) 📺 Apple запустила новый канал Apple Developer на YouTube, которы
Новый источник знаний от Apple (в дополнение к анонсу WWDC) 📺 Apple запустила новый канал Apple Developer на YouTube, который будет использоваться для обмена информацией о сессиях и мероприятиях WWDC, за которыми смогут следить разработчики. Видеоролики уже сейчас организованы в плейлисты по темам: App Store, Swift, Spatial Computing, Safari (и будут доплняться другими разделами). И это уже даёт представление, какой контент мы можем ждать на самой конфе. 😃 iOS IQ

iOS Dev
8 002
😎WWDC 2024 пройдёт с 10 по 14 июня Сегодня компания Apple объявила о том, что ежегодная Всемирная конференция разработчиков (WWDC) пройдёт в режиме онлайн с 10 по 14 июня 2024 года. Разработчики и студенты смогут лично принять участие в специальном мероприятии в Apple Park в день открытия. Количество мест будет ограничено, а подробную информацию о том, как подать заявку на участие, можно найти на сайте и в приложении для разработчиков Apple. 😃 iOS IQ

iOS Dev
8 002
Генерация Swift-кода в (почти) реальном времени на базе нарисованного скетча 🎆 Дэниел Лейверс в демонстрации магистерской диссертации показал, на что способны современные технологии. Можно набросать скетч помощью iPad-pencil и увидеть, как рядом с ним появляется реальный интерактивный интерфейс и Swift-код. Приложение использует модель, заранее созданную на базе элементов UI, которая подается в алгоритм yolov5 и преобразуется в CoreML. Это невероятно сложно и интересно. 📖 Саму диссертацию Дэниела можно прочитать здесь. 😃 iOS IQДругие эффекты

iOS Dev
8 002
Рисование и анимация: контуры и фигуры в SwiftUI У эппл есть туториал, который поможет добавить ачивки, например в случаях, е
Рисование и анимация: контуры и фигуры в SwiftUI У эппл есть туториал, который поможет добавить ачивки, например в случаях, если пользователи посещают достопримечательность из своего списка. 📖 В этом уроке рассматривается процесс создания такого элемента путем комбинирования различных контуров и фигур. Кроме этого, можно поэкспериментировать с наложенным символом, варьируя количество повторений или меняя углы и масштаб. ⏳Отлично подойдёт новичкам (и по времени всего 25 минут). Код доступен здесь. 😃 iOS IQДругие эффекты

iOS Dev
8 002
Большое обновление базы iOS IQ ➡️ Добавлен блок на умение читать и понимать код (и поиск ошибок). Разобрал порождающие паттер
Большое обновление базы iOS IQ ➡️ Добавлен блок на умение читать и понимать код (и поиск ошибок). Разобрал порождающие паттерны проектирования (с примерами на Swift): ✨ Абстрактная фабрика, строитель, прототип, синглтон, фабричный метод. Затронул узкие, но важные темы для собеседований, например: ➡️ Для чего нужен DispatchSemaphore и как с его помощью решить проблему доступа к ресурсу. ➡️ Какая разница между raw и associated в enum? Поделился своим опытом решения алгоритмических задач: ➡️ Блок средних задач с CodeRun (над некоторыми бился несколько дней). И несколькими другими важными моментами (кстати, теперь есть и обновляемый changelog внутри). 🐱 Вступить можно вот тут. 😃 iOS IQ

iOS Dev
8 002
Работа со SwiftData: гайд по использованию Хотя она и поддерживается только с iOS 17+, но осваивать и изучать её полезно. Для новых проектов вы можете использовать SwiftData уже сейчас, в том числе основываясь на этой подборке. А сегодня я хотел бы поделиться ещё одним набором советов по работе: Настройка 🔗 Как создать Persistent Container SwiftData или получить к нему доступ Моделирование 🔗 Как создать модель SwiftData в Swift 🔗 Как добавить структуры или перечисления в SwiftData 🔗 Как использовать Transient в SwiftData Действия в SwiftData 🔗 Как получить все объекты SwiftData 🔗 Как получить конкретный объект из SwiftData 🔗 Как узнать, существует ли объект в SwiftData Создание 🔗 Как добавить объект в SwiftData Обновление 🔗 Как обновить объект в SwiftData Удаление 🔗 Как удалить объект в SwiftData 🔗 Как удалить все объекты из SwiftData в Swift Возможные ошибки и решение 🔗 Краш в SwiftData при попытке доступа к удаленному объекту 🔗 Как решить проблему No exact matches in call to instance method 'setValue' 😃 iOS Dev

iOS Dev
8 002
Как уменьшить размер приложения с помощью динамических фреймворков Даже крупнейшие приложения iOS в App Store допускают ошибк
Как уменьшить размер приложения с помощью динамических фреймворков Даже крупнейшие приложения iOS в App Store допускают ошибки и нарушают D.R.Y. путём копирования целых модулей. Например, Hyundai дублируют каталог assets (который в итоге добавляется в приложение 3 раза). Одно из решений: для модулей, разделяемых между таргетами, можно подключать их как динамические фреймворки вместо статических библиотек. Но на практике — особенно если приложение юзает современную многомодульную архитектуру с применением SPM — не совсем очевидно, как динамически связывать модули. 📖 Джейкоб Бартлетт в гостевом посте для EmergeTools рассматривает, что можно сделать и как это повлияет на общее время запуска. 🛠 Код проекта можно посмотреть на github. 😃 iOS Dev

iOS Dev
8 002
Практические решения проблем с помощью Swift Concurrency Swift Concurrency может быть довольно непростым в использовании. Matt Massicotte задокументировал и поделился своими решениями и сложностями, с которыми можно столкнуться при работе со Swift Concurrency: 1️⃣ Создание асинхронного контекста. 2️⃣ Использование протоколов. 3️⃣ Изоляция. 4️⃣ Структурированный параллелизм. 5️⃣ Использование библиотек, не предназначенных для параллелизма. 6️⃣ Совместимость. 🐱 Напомню, что тут есть несколько важных советов, которые помогут разобраться не только в основах, но и в подводных камнях тестирования. 😃 iOS Dev

iOS Dev
8 002
Оптимизация памяти для приложения SwiftUI + Core Data Несмотря на использование lazy containers в SwiftUI и механизмы оптимиз
Оптимизация памяти для приложения SwiftUI + Core Data Несмотря на использование lazy containers в SwiftUI и механизмы оптимизации памяти Core Data, по мере увеличения сложности и количества вьюх (например, микса текста и картинок) потребление памяти будет увеличиваться. С свою очередь, это может привести к крашу. В материале ниже показано, как можно оптимизировать память для приложения, в изначальном кейсе использующего 1,6 ГБ памяти для отображения 100 элементов данных. В процессе также можно узнать, как можно работать с сотнями таких элементов и оставаться в рамках всего 200 МБ. 📖 Прочитав статью, можно получить больше деталей о жизненном цикле вложенных вьюх, свойствах управляемых объектов и работе с кэшем. 🛠 Код проекта доступен здесь. ✅А вот тут есть советы по работе с лентой картинок и причины, почему память может увеличиваться быстрее, чем хотелось бы. 😃 iOS Dev

iOS Dev
8 002
Вопросы на понимание кода Я считаю затронутую тему одну из важнейших в разработке. Поэтому я наполняю базу интересными и необ
Вопросы на понимание кода Я считаю затронутую тему одну из важнейших в разработке. Поэтому я наполняю базу интересными и необычными вопросами, проверяющими ваш навык чтения кода и поиск ошибок в нём. Задачи на разный уровень. Есть как несложные, так и заставляющие задуматься и вспомнить особенности Swift. ✅Получить доступ можно уже сейчас. 😃 iOS Dev