en
Feedback
iOS Dev

iOS Dev

Open in Telegram

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

Show more
8 000
Subscribers
-124 hours
+467 days
+7930 days
Posts Archive
iOS Dev
8 000
Комбинирование разных типов диаграмм для создания уникального дизайна Существует множество различных типов графиков. Они прос
Комбинирование разных типов диаграмм для создания уникального дизайна Существует множество различных типов графиков. Они просты в использовании и обладают широкими возможностями настройки. 📖 Например, в этой статье автор создаёт комбинированную диаграмму для отображения данных на базе Line Chart и Area Chart. 😃 iOS Dev

iOS Dev
8 000
Swift-библиотека для моделирования и визуализации графов ⭐️Её целью является расположение узлов графа так, что все рёбра имели бы более-менее одинаковую длину, ну и свести к минимуму число пересечений рёбер. Часто подобное можно увидеть в визуализации соцсетей, связей страниц в той-же вики, например, и так далее. Вы наверняка видели разные реализации таких штук на других языках, но вдруг вам пригодится и такое решение. 🛠 Сама либа от Zhen Li доступна здесь, и получившийся итог завораживает! 😃 iOS Dev

iOS Dev
8 000
❗ В России разрешили использовать альтернативные способы покупок в App Store! Для этого нужно будет использовать StoreKit Ext
В России разрешили использовать альтернативные способы покупок в App Store! Для этого нужно будет использовать StoreKit External Purchase Link Entitlement, выполнить ряд условий и заполнить форму. При этом комиссия Apple составит 27 % от выручки. Важнейший шаг к альтернативным сторам? 😃 iOS Dev

iOS Dev
8 000
8 советов по оптимизации приложения для iOS 📺 Itay Brenner и Vincent Pradeilles дают практические советы и разбирают способы повышения производительности в видео. Более детально разделы доступны по следующим тайм-кодам: 1️⃣ Работа с бинарными символами. 2️⃣ Шаринг кода и ресурсов. 3️⃣ Оптимизация ассетов. 4️⃣ Сохранение основного потока лёгким по возможности. 5️⃣ Использование Static Dispatch. 6️⃣ Разбор менеджеров пакетов, их преимущества и недостатки. 7️⃣ Оптимизация CoreML-моделей. 8️⃣ Про постоянные улучшения. 😃 iOS Dev

iOS Dev
8 000
Добавление Firebase Analytics замедляет запуск приложения на 30% Emerge Tools замерила производительность топовых аналитическ
Добавление Firebase Analytics замедляет запуск приложения на 30% Emerge Tools замерила производительность топовых аналитических SDK для iOS. 👨‍💻 Тестили на базовом приложении под iOS (тот, что по дефолту при создании проекта), так как его размер всего 118,5 КБ и нет доп. нагрузки. Либы добавляли через SPM, а затем сравнивали размер и производительность каждого запуска. 📖 Интересные выводы и результаты других SDK в этом посте. Кстати, тут же и объясняется, почему выбрали относительное, а не абсолютное время сравнения. 😃 iOS Dev

iOS Dev
8 000
Обновление местоположения пользователя с помощью Core Location и Swift Concurrency 😎 Мы можем создавать собственные обертки
Обновление местоположения пользователя с помощью Core Location и Swift Concurrency 😎 Мы можем создавать собственные обертки для управления доступом к основным сервисам iOS, используя возможности Swift. Например, для решения задачи получения геолокации через Core Location можно задействовать CheckedContinuation. 📖 А в этом материале рассказано, как написать свой Location Manager, запросить авторизацию и правильно обновлять локацию пользователя. 😃 iOS Dev

iOS Dev
8 000
Универсальный датасорс (хранилище данных) в iOS-разработке Такие решения предоставляют разработчикам API для доступа к данным
Универсальный датасорс (хранилище данных) в iOS-разработке Такие решения предоставляют разработчикам API для доступа к данным в коллекциях без привязки к конкретному источнику и типу данных. 📖 В статье на хабре рассматриваются: 🔘 Cтандартные подходы к регистрации и конфигурации ячеек в коллекции. 🔘 Альтернативный подход с использованием ViewRegistration. 🔘 Пример реализации универсального датасорса (на базе Diffable Datasource) 🔘 Преимущества, особенности, сложности и недостатки подхода. 😃 iOS Dev

iOS Dev
8 000
Запуск приложения: советы по продвижению Инди-разработчик делится своим опытом и идеями по продвижению приложения в первые дни. Например, для пресс-релизов важно: 1️⃣ Проблема, которую нужно решить. 2️⃣ Само приложение для решения. 3️⃣ История о том, как появилась идея и как она воплотилась в жизнь. Большой материал разделен на две части: 📖 Часть 1. 📖 Часть 2. 😃 iOS Dev

iOS Dev
8 000
TipKit: варианты и примеры использования ✅️ Цель TipKit — максимально упростить отображение информации, которая подчеркивает
TipKit: варианты и примеры использования ✅️ Цель TipKit — максимально упростить отображение информации, которая подчеркивает или объясняет ту или иную функцию приложения. При реализация всплывающих подсказок нужно решить два вопроса: 1️⃣ Как их показать для всех комбинаций языков и размеров экрана. 2️⃣ Как убедиться, что они срабатывают в нужное время, чтобы не перегружать пользователей. И как раз с этим успешно справляется TipKit. 📖 А вот тут можно посмотреть примеры использования нового фреймворка. 😃 iOS Dev

iOS Dev
8 000
Загрузка кастомных шрифтов в приложение с помощью Swift Package Plugins 🔎 Если вы создаёте свои приложения с общим стилем оф
Загрузка кастомных шрифтов в приложение с помощью Swift Package Plugins 🔎 Если вы создаёте свои приложения с общим стилем оформления и сталкиваетесь с проблемой использования одних и тех же шрифтов снова и снова, то одно из решений — создать собственный Swift package. Это позволит ускорить выпуск приложений и уменьшить дублирование кода. 📖 Пример создания Swift Package с использованием SwiftGen. Кстати, вот тут я писал о более традиционном способе работы с нестандартными шрифтами. 😃 iOS Dev

iOS Dev
8 000
Продвинутые анимации в SwiftUI: протокол CustomAnimation 🤩 Вышла новая часть замечательной серии статей про анимацию. В этой
Продвинутые анимации в SwiftUI: протокол CustomAnimation 🤩 Вышла новая часть замечательной серии статей про анимацию. В этой публикации авторы обсуждают такие темы, как типы анимаций и протокол CustomAnimation, новые способы работы с Transactions и новые параметры. Кроме этого, уделяется внимание PhaseAnimator и KeyframeAnimator. 📖 Десятки примеров кода и разбор параметров доступны здесь. 😃 iOS Dev

iOS Dev
8 000
Изучение Swift Concurrency за 2 часа 📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения. А вот и сами статьи, которые Винсент использовал: 📖 Async await в Swift с примерами. 📖 Конвертация асинхронного кода в async/await в Swift. 📖 Async let: параллельный вызов async-функций. 📖 Какую роль Tasks играют в системе параллелизма Swift? 📖 Разбор Swift Tasks Groups на примере. 😃 iOS Dev

iOS Dev
8 000
🐣 iOS 17 может сломать ваши проверки URL! Произошли важные изменения для URL-адресов в iOS 17. Парсинг URL был переведён с у
🐣 iOS 17 может сломать ваши проверки URL! Произошли важные изменения для URL-адресов в iOS 17. Парсинг URL был переведён с устаревшего стандарта RFC 1738/1808 на RFC 3986 (аналогичный тому, что используется для URLComponents). Теперь разбор URL и URLComponents унифицирован. Если проще, теперь URL автоматически кодирует недопустимые символы и добавляет символ процента для корректного URL. 😃 iOS Dev

iOS Dev
8 000
Освоение диаграмм в SwiftUI: круговые и кольцевые диаграммы Фреймворк Swift Charts принёс множество опций, среди которых, нап
Освоение диаграмм в SwiftUI: круговые и кольцевые диаграммы Фреймворк Swift Charts принёс множество опций, среди которых, например: гистограммы, графики с применением градиента и возможность даже делать свои игры. Кроме этого, в них можно задействовать SectorMark, который можно использовать для построения круговых или кольцевых графиков. 📖 Посмотреть на примеры создания таких диаграмм можно здесь. 😃 iOS Dev

iOS Dev
8 000
Кстати, в релизной версии Xcode появился шорткат для форматирования в несколько строк, дефолтно Ctrl+M (но можно назначить свою комбинацию). 😎 В KeyBindings можно чекнуть Structure -> Format to Multiple Lines. 😃 iOS Dev

iOS Dev
8 000
Возможность юзать if и switch в качестве выражений наглядно Такая фича для возвращаемых значений уже доступна в Swift 5.9. 📖 А вот тут можно посмотреть, какие ещё варианты возможны. 😃 iOS Dev

iOS Dev
8 000
Как устроена система сборки в Xcode? Многие инженеры могут недооценивать сложность таких систем в целом. Например, нам в боль
Как устроена система сборки в Xcode? Многие инженеры могут недооценивать сложность таких систем в целом. Например, нам в большинстве случаев не приходится настраивать шаги вручную. Хотя, возможно, вы когда-нибудь пытались понять, почему система сборки Xcode жалуется на цикл компиляции или оптимизировали сборку, используя только билд-логи или Build Timelines, добавленные в Xcode 14. 📖 В этой статье можно узнать, что происходит Xcode при нажатии ⌘+R с помощью XCBuildAnalyzer. 😃 iOS Dev

iOS Dev
8 000
😍 В своём канале Лев продолжает делиться результатами большого опроса среди разработчиков. Так вот, одним из вопросов было то, за кем вы следите в мобильном сообществе. Во-первых, спасибо за упоминание в самом посте, это приятно 😎. А вообще, вот пара мыслей на счёт публичного поля и небольшая история. Недавно (примерно месяц назад) я общался с продакт-менеджером хабра на счёт формата «посты» (вкладка рядом со статьями). Суть в том, что не слишком большое количество разработчиков юзают эту опцию, и вот почему, на мой взгляд. 1️⃣ Цена ошибки велика. Рассказывая технические вещи таким же профессионалам, легко попасть не под мэйнстримное мнение и тем самым срезать себе карму/рейтинг. 2️⃣ Публичные выступления (и статьи тоже) — это затраченное время. А также умение корректно реагировать на критику, принимать конструктивные замечения и не уходить в бесконечные дебаты. 3️⃣ Не хочется быть поверхностным, если вы хотите рассказать о новинках, покажите пример. Иногда официальной доки недостаточно. И даже история неуспеха это круто. Всех задолбали только истории побед, волков и то, как за месяц можно можно взлететь до 1ККК в секунду. Это ошибка выжившего, удачный билет в лотерею, правильная дверь в парадоксе Монти Холла, в конце-концов. Но есть миллион примеров, когда можно оказывать пользу сообществу, не используя клише для кликбейта. Общаясь с зарубежными специалистами, или когда стараюсь рассказать вам про необычные вещи, я не перестаю удивляться, когда узнаю, что есть опенсорсные репы с 5к звёзд, а в том же твиттере у автора условно 100 читателей. Не это главное. Есть герои, как, например, The Eskimo! на форумах эпла, или легендарный mattt с количеством подписчиков далеко не под миллион. Ну, и третье, если вы всё-таки дочитали до этого момента. 🎤Я — автор этого канала, Виктор Грушевский, и мы ещё встретимся с вами в новом формате, когда придёт время. 😃 iOS Dev

iOS Dev - Statistics & analytics of Telegram channel @iosdev