uk
Feedback
iOS Dev

iOS Dev

Відкрити в Telegram

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

Показати більше
7 877
Підписники
-424 години
+27 днів
-5430 день
Архів дописів
iOS Dev
7 877
Использование собственного голоса в приложении iOS Функция преобразования текста в речь существует на iOS уже более десяти ле
Использование собственного голоса в приложении iOS Функция преобразования текста в речь существует на iOS уже более десяти лет, но в iOS 17 Apple добавила несколько новых функций, которые могут стать интересным дополнением к вашему приложению. Конечно, для этого понадобится AVSpeechSynthesizer. Кстати, список novelty-голосов можно посмотреть вот тут (Accessibility > Live Speech > Voices, посмотрите как-нибудь, если не видели ранее). 📖 В этой статье рассказано, как использовать AVSpeechSynthesizer, чтобы подключить системные, новые, и даже «персональный голос», созданный с помощью ИИ! 😃 iOS Dev

iOS Dev
7 877
🎉 Веб-распространение приложений для iOS в ЕС уже доступно Ранее Apple анонсировали эту возможность для Европы при выполнении определённых требований (ждём и для стран СНГ?) . 🎆 А с сегодняшнего дня фича уже доступна в iOS 17.5 (beta 2) и в App Store Connect для разработчиков, про требования можно почитать здесь. 😃 iOS Dev

iOS Dev
7 877
Блок вопросов: многопоточность (и бонус) В iOS IQ на сегодня больше 10 крупных разделов (от алгоритмов до архитектур), каждый
Блок вопросов: многопоточность (и бонус) В iOS IQ на сегодня больше 10 крупных разделов (от алгоритмов до архитектур), каждый из которых постоянно обновляется, несколько сотен статей и множество реальных примеров кода. На выходных я провёл редизайн некоторых секций, и теперь вопросы будут вынесены более явно. Цель — собрать не только теорию, не только код, но и вопросы, которые требуют размышлений. Ведь все мы знаем, что правильно заданное направление (или вопрос) позволяет решить задачу уже на автоматизме. Сейчас в этом разделе уже 20 вопросов, начиная от GCD и заканчивая async/await. А в разделе с вопросами на чтение кода ещё больше. Каждая тема подкреплена материалами для изучения, с которых следует начать подготовку. 🍏➡️Секретная ссылка со скидкой здесь (количество активаций ограничено). Скоро будет дополнительный анонс по развитию контента, рекомендую подписаться заранее, чтобы не пропустить. 😃 iOS IQ

iOS Dev
7 877
Как быстро создать privacy manifest для приложения Уже сейчас при заливке билдов в аппсторе есть соответствующее уведомление,
Как быстро создать privacy manifest для приложения Уже сейчас при заливке билдов в аппсторе есть соответствующее уведомление, а начиная с мая можно получить реджект, если не будет соответствующего манифеста. Мик Бирн посчитал не слишком удобным, как это сделано сейчас в Xcode (поиск причин вручную) и реализовал собственную тулзу для генерации таких файлов (бесплатно и в открытом доступе). 🔗 Создать собственный манифест можно с помощью этого ресурса. 😃 iOS Dev

iOS Dev
7 877
🍏 Структурные паттерны проектирования в Swift Cтруктурные шаблоны (structural patterns) — шаблоны проектирования, в которых
🍏 Структурные паттерны проектирования в Swift Cтруктурные шаблоны (structural patterns) — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры. Проще говоря, этот вид паттернов связан с композицией объектов или тем, как сущности могут использовать друг друга. Что к ним можно отнести? - Адаптер. - Мост. - Компоновщик. - Декоратор. - Фасад. - Flyweight (приспособленец/легковес). - Прокси. В iOS IQ я уже писал о том, почему удобная архитектура == более гибкий и лёгкий в поддержке код. ➡️Сегодня вышло большое обновление, в котором я добавил примеры по каждому виду таких паттернов (с кодом, разбором и реальными кейсами, а также видео). ✅Присоединяйтесь, здесь вся база, алгоритмы и архитектура без лишнего флуда. 😃 iOS IQ

iOS Dev
7 877
Создание серчбара в стиле Apple ⭐️Каждый, кто работал с эпловским серчбаром, знает, как сложно было хэндлить разные кейсы до
Создание серчбара в стиле Apple ⭐️Каждый, кто работал с эпловским серчбаром, знает, как сложно было хэндлить разные кейсы до выхода последних версий iOS, особенно если используется непростая кастомизация. Во многих приложениях Apple для visionOS, таких как Music, Safari и Apple TV, также есть удобное поле поиска. Но начиная с версии visionOS 1.1, повторить его визуальное исполнение непросто из-за отсутствия нужного API, хотя и все равно возможно! 📖 В этом материале разработчик объясняет, как можно для этих целей использовать UISearchBar из UIKit (и делится неочевидными сложностями). 😃 iOS Dev

iOS Dev
7 877
Benchmark - инструмент для измерения производительности Swift Производительность, безусловно, ключевая характеристика и для п
Benchmark - инструмент для измерения производительности Swift Производительность, безусловно, ключевая характеристика и для приложений, и для фреймворков. Benchmark позволяет легко чекать множество показателей: загрузку процессора, ARC-трафика, использование памяти, ресурсов оси, таких как потоки и системные вызовы, а также полностью кастомные счетчики метрик. Его основная функция - именно замер производительности, а другие средства (Instruments, DTrace, Heaptrack, Leaks, Sample) могут быть использованы для поиска причин. 🛠 Вот тут есть сылка на репозиторий и статья с примерами на сайте swift.org. 📖 А вот здесь в канале разбор инструмента от ETTrace от Emerge. ✅А в iOS IQ есть огромный раздел c советами по повышению производительности приложений (как бороться с лагами, шаги по поиску утечек и многое другое). 😃 iOS Dev

iOS Dev
7 877
Apple показал Ferret-UI для распознавания мобильных интерфейсов После обучения на собранных массивах данных Ferret-UI демонст
Apple показал Ferret-UI для распознавания мобильных интерфейсов После обучения на собранных массивах данных Ferret-UI демонстрирует отличное понимание интерфейса и способность выполнять открытые инструкции. Ferret-UI не только превосходит большинство опенсорсных MLLM, но и превосходит GPT-4V по всем элементарным UI-задачам. 🔗 Целиком исследование доступно здесь. Вероятно, как минимум, это расширит области по работе с доступностью для определённых групп пользователей, а как максимум, может приведёт нас к этому. К слову, у гугла есть также есть объёмное исследование для работы с интерфейсом. 😃 iOS Dev

iOS Dev
7 877
Method swizzling в Swift: определение, примеры, плюсы и минусы Method swizzling — это техника, которая позволяет изменять или
Method swizzling в Swift: определение, примеры, плюсы и минусы Method swizzling — это техника, которая позволяет изменять или заменять реализацию существующего метода в рантайме. Она включает в себя обмен реализациями двух методов, обычно для добавления или изменения поведения без модификации исходного класса. 😎 Firebase, пожалуй, самый известный SDK, который юзает свиззлинг. Например, FirebaseAnalytics изменяет методы жизненного цикла в UIViewController для отправки событий аналитики. Pulse изменяет инициализатор URLSession для трекинга сетевой активности, проходящей через URLSession. А в целом, пул применения можно расширить до следующих примеров: 1️⃣ Расширение или изменение поведения существующих методов во фреймворках или сторонних либах. 2️⃣ Отладка или логирование, например, отслеживание вызовов или измерение производительности. 3️⃣ Аутентификация или кэширование, в нескольких методах или классах. ✅В ноушне я добавил примеры кода, плюсы и минусы (и когда лучше избегать этого способа), а также несколько полезнейших источников для того, чтоб разобраться с Method Swizzling. 😃 iOS Dev

iOS Dev
7 877
🕹 В App Store разрешили эмуляторы ретро-игр Теперь разработчики могут выкладывать и такой тип приложений, а пользователи iPh
🕹 В App Store разрешили эмуляторы ретро-игр Теперь разработчики могут выкладывать и такой тип приложений, а пользователи iPhone смогут устанавливать себе эмуляторы напрямую из App Store, а не использовать для этого сторонние магазины приложений, которые ранее разрешили в ЕС. До этого любые эмуляторы игр были под запретом. Единственным вариантом было юзать джейлбрейк или искать альтернативные пути. Важная деталь — эмуляторы должны соответствовать остальным правилам, включая запрет на пиратские игры. 📖 Детально изменения гайдлайнов здесь. 😃 iOS Dev

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

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

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

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

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

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