Как создать App Clip для вашего приложения
App Clips по факту являются уменьшенными копиями приложений для выполнения определенных задач без необходимости загрузки приложения целиком.
Их размер не превышает 15 МБ, кроме этого они должны быть быстрыми и интуитивно понятными.
🐣 Их также можно запускать из Safari, Карт и даже Messages.
В этом материале есть руководство, как создать App Clip для своего приложения и как генерировать коды, которыми в дальнейшем можно поделиться с пользователями.
😃 iOS Dev
App Clips по факту являются уменьшенными копиями приложений для выполнения определенных задач без необходимости загрузки приложения целиком.
Их размер не превышает 15 МБ, кроме этого они должны быть быстрыми и интуитивно понятными.
В этом материале есть руководство, как создать App Clip для своего приложения и как генерировать коды, которыми в дальнейшем можно поделиться с пользователями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👏7🔥2🤯2🆒2❤🔥1🏆1
Можно ли использовать код? Доступный обзор популярных лицензий
🧑💻 Лицензии зачастую содержат огромный объём текста, который не всегда возможно быстро прочесть, а некоторые важные моменты так и остаются расплывчатыми.
📖 На этом ресурсе в справочном виде можно посмотреть краткое описание лицензий в стиле: можно ли использовать код/нужно ли указывать источники и так далее.
😃 iOS Dev
📖 На этом ресурсе в справочном виде можно посмотреть краткое описание лицензий в стиле: можно ли использовать код/нужно ли указывать источники и так далее.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6❤1👏1💯1🏆1🆒1
Благодаря этому у нас появятся кастомные реакции (и не только).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3❤2❤🔥2👏2🏆2😐2
Гарантирую, что вы такого не видели!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
iOS Dev
Проголосуйте за канал, чтобы он получил больше возможностей.
🔥41👍9🤯4🤩3🫡2❤🔥1❤1🆒1
C чего начать изучение SwiftUI в 2023?
Как показывает практика, одна из основных сложностей для новичков в том, что брать за точку отсчёта.
Что ж, вот мои топ-3 ресурса, которые я бы рекомендовал изучать всем перед дальнейшим погружением в более сложные вещи.
➡️ SwiftUI Tutorials. 4.5 часа отборных материалов от Apple, которые при тщательном изучении сформируют начальную базу.
➡️ Лекции Стенфорда. По ним учились несколько поколений разработчиков, доступная и понятная инфа. Плюс в том, что эти материалы уже содержат в себе изменения за 2023 год.
➡️ SwiftUI by Example на портале Hacking with Swift. Почти 600(!) страниц кода, решающих конкретные проблемы здесь и сейчас.
➡️ Develop in Swift: новая серия уроков от Apple.
😃 iOS Dev
Как показывает практика, одна из основных сложностей для новичков в том, что брать за точку отсчёта.
Что ж, вот мои топ-3 ресурса, которые я бы рекомендовал изучать всем перед дальнейшим погружением в более сложные вещи.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍11❤🔥5❤2💯2👏1🤩1🏆1
Как устроена система сборки в Xcode?
Многие инженеры могут недооценивать сложность таких систем в целом.
Например, нам в большинстве случаев не приходится настраивать шаги вручную.
Хотя, возможно, вы когда-нибудь пытались понять, почему система сборки Xcode жалуется на цикл компиляции или оптимизировали сборку, используя только билд-логи или Build Timelines, добавленные в Xcode 14.
📖 В этой статье можно узнать, что происходит Xcode при нажатии
😃 iOS Dev
Многие инженеры могут недооценивать сложность таких систем в целом.
Например, нам в большинстве случаев не приходится настраивать шаги вручную.
Хотя, возможно, вы когда-нибудь пытались понять, почему система сборки Xcode жалуется на цикл компиляции или оптимизировали сборку, используя только билд-логи или Build Timelines, добавленные в Xcode 14.
📖 В этой статье можно узнать, что происходит Xcode при нажатии
⌘+R
с помощью XCBuildAnalyzer.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🏆4🔥3👏3❤2🤔1💯1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Возможность юзать if и switch в качестве выражений наглядно
Такая фича для возвращаемых значений уже доступна в Swift 5.9.
📖 А вот тут можно посмотреть, какие ещё варианты возможны.
😃 iOS Dev
Такая фича для возвращаемых значений уже доступна в Swift 5.9.
📖 А вот тут можно посмотреть, какие ещё варианты возможны.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50🔥13🤔4❤2💯2👏1🤯1🤩1🏆1
iOS Dev
Новая опция в Xcode 15: форматирование кода на несколько строк 🤩 Спустя годы после того, как эту функцию запрашивали и после появления довольно популярного репозитория на Github Apple наконец выкатили фичу для разбиения кода на несколько строк. Разве не amazing!…
Кстати, в релизной версии Xcode появился шорткат для форматирования в несколько строк, дефолтно
😎 В KeyBindings можно чекнуть
😃 iOS Dev
Ctrl+M
(но можно назначить свою комбинацию).Structure -> Format to Multiple Lines
.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6💯3🏆2😎2👏1🆒1
Освоение диаграмм в SwiftUI: круговые и кольцевые диаграммы
Фреймворк
Кроме этого, в них можно задействовать
📖 Посмотреть на примеры создания таких диаграмм можно здесь.
😃 iOS Dev
Фреймворк
Swift Charts
принёс множество опций, среди которых, например: гистограммы, графики с применением градиента и возможность даже делать свои игры.Кроме этого, в них можно задействовать
SectorMark
, который можно использовать для построения круговых или кольцевых графиков.📖 Посмотреть на примеры создания таких диаграмм можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3💯2🏆1
Произошли важные изменения для URL-адресов в iOS 17.
Парсинг URL был переведён с устаревшего стандарта
RFC 1738/1808
на RFC 3986
(аналогичный тому, что используется для URLComponents). Теперь разбор URL и URLComponents унифицирован.
Если проще, теперь URL автоматически кодирует недопустимые символы и добавляет символ процента для корректного URL.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍13🤯11😱8🫡3👏1😢1🏆1
Изучение Swift Concurrency за 2 часа
📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения.
А вот и сами статьи, которые Винсент использовал:
📖 Async await в Swift с примерами.
📖 Конвертация асинхронного кода в async/await в Swift.
📖 Async let: параллельный вызов async-функций.
📖 Какую роль Tasks играют в системе параллелизма Swift?
📖 Разбор Swift Tasks Groups на примере.
😃 iOS Dev • 🐱 Доступ к алгоритмам
📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения.
А вот и сами статьи, которые Винсент использовал:
📖 Async await в Swift с примерами.
📖 Конвертация асинхронного кода в async/await в Swift.
📖 Async let: параллельный вызов async-функций.
📖 Какую роль Tasks играют в системе параллелизма Swift?
📖 Разбор Swift Tasks Groups на примере.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥13❤2💯2🏆2👏1
Продвинутые анимации в SwiftUI: протокол CustomAnimation
🤩 Вышла новая часть замечательной серии статей про анимацию.
В этой публикации авторы обсуждают такие темы, как типы анимаций и протокол
Кроме этого, уделяется внимание
📖 Десятки примеров кода и разбор параметров доступны здесь.
😃 iOS Dev
В этой публикации авторы обсуждают такие темы, как типы анимаций и протокол
CustomAnimation
, новые способы работы с Transactions
и новые параметры. Кроме этого, уделяется внимание
PhaseAnimator
и KeyframeAnimator
.📖 Десятки примеров кода и разбор параметров доступны здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5👏1🤩1🏆1🆒1
Загрузка кастомных шрифтов в приложение с помощью Swift Package Plugins
🔎 Если вы создаёте свои приложения с общим стилем оформления и сталкиваетесь с проблемой использования одних и тех же шрифтов снова и снова, то одно из решений — создать собственный Swift package.
Это позволит ускорить выпуск приложений и уменьшить дублирование кода.
📖 Пример создания Swift Package с использованием SwiftGen.
Кстати, вот тут я писал о более традиционном способе работы с нестандартными шрифтами.
😃 iOS Dev
Это позволит ускорить выпуск приложений и уменьшить дублирование кода.
📖 Пример создания Swift Package с использованием SwiftGen.
Кстати, вот тут я писал о более традиционном способе работы с нестандартными шрифтами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏13👍5❤1🔥1😢1🤩1💯1🏆1
TipKit: варианты и примеры использования
✅️ Цель
При реализация всплывающих подсказок нужно решить два вопроса:
1️⃣ Как их показать для всех комбинаций языков и размеров экрана.
2️⃣ Как убедиться, что они срабатывают в нужное время, чтобы не перегружать пользователей.
И как раз с этим успешно справляется TipKit.
📖 А вот тут можно посмотреть примеры использования нового фреймворка.
😃 iOS Dev
TipKit
— максимально упростить отображение информации, которая подчеркивает или объясняет ту или иную функцию приложения.При реализация всплывающих подсказок нужно решить два вопроса:
1️⃣ Как их показать для всех комбинаций языков и размеров экрана.
2️⃣ Как убедиться, что они срабатывают в нужное время, чтобы не перегружать пользователей.
И как раз с этим успешно справляется TipKit.
📖 А вот тут можно посмотреть примеры использования нового фреймворка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤3🔥3😢1🤩1💯1🏆1🆒1
Запуск приложения: советы по продвижению
Инди-разработчик делится своим опытом и идеями по продвижению приложения в первые дни.
Например, для пресс-релизов важно:
1️⃣ Проблема, которую нужно решить.
2️⃣ Само приложение для решения.
3️⃣ История о том, как появилась идея и как она воплотилась в жизнь.
Большой материал разделен на две части:
📖 Часть 1.
📖 Часть 2.
😃 iOS Dev
Инди-разработчик делится своим опытом и идеями по продвижению приложения в первые дни.
Например, для пресс-релизов важно:
1️⃣ Проблема, которую нужно решить.
2️⃣ Само приложение для решения.
3️⃣ История о том, как появилась идея и как она воплотилась в жизнь.
Большой материал разделен на две части:
📖 Часть 1.
📖 Часть 2.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥8👏2😢1💯1🏆1
Универсальный датасорс (хранилище данных) в iOS-разработке
Такие решения предоставляют разработчикам API для доступа к данным в коллекциях без привязки к конкретному источнику и типу данных.
📖 В статье на хабре рассматриваются:
🔘 Cтандартные подходы к регистрации и конфигурации ячеек в коллекции.
🔘 Альтернативный подход с использованием
🔘 Пример реализации универсального датасорса (на базе
🔘 Преимущества, особенности, сложности и недостатки подхода.
😃 iOS Dev
Такие решения предоставляют разработчикам API для доступа к данным в коллекциях без привязки к конкретному источнику и типу данных.
📖 В статье на хабре рассматриваются:
🔘 Cтандартные подходы к регистрации и конфигурации ячеек в коллекции.
🔘 Альтернативный подход с использованием
ViewRegistration
.🔘 Пример реализации универсального датасорса (на базе
Diffable Datasource
)🔘 Преимущества, особенности, сложности и недостатки подхода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👏2💯2❤1🔥1😢1🏆1🆒1
Обновление местоположения пользователя с помощью Core Location и Swift Concurrency
😎 Мы можем создавать собственные обертки для управления доступом к основным сервисам iOS, используя возможности Swift.
Например, для решения задачи получения геолокации через
📖 А в этом материале рассказано, как написать свой
😃 iOS Dev
Например, для решения задачи получения геолокации через
Core Location
можно задействовать CheckedContinuation
.📖 А в этом материале рассказано, как написать свой
Location Manager
, запросить авторизацию и правильно обновлять локацию пользователя.Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5👏1🤯1🎉1👌1🏆1👨💻1
Добавление Firebase Analytics замедляет запуск приложения на 30%
👨💻 Тестили на базовом приложении под iOS (тот, что по дефолту при создании проекта), так как его размер всего 118,5 КБ и нет доп. нагрузки.
Либы добавляли через SPM, а затем сравнивали размер и производительность каждого запуска.
📖 Интересные выводы и результаты других SDK в этом посте. Кстати, тут же и объясняется, почему выбрали относительное, а не абсолютное время сравнения.
😃 iOS Dev
Emerge Tools
замерила производительность топовых аналитических SDK для iOS. Либы добавляли через SPM, а затем сравнивали размер и производительность каждого запуска.
📖 Интересные выводы и результаты других SDK в этом посте. Кстати, тут же и объясняется, почему выбрали относительное, а не абсолютное время сравнения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯27👍4🔥4❤2👏2🎉1💯1🏆1
8 советов по оптимизации приложения для iOS
📺 Itay Brenner и Vincent Pradeilles дают практические советы и разбирают способы повышения производительности в видео.
Более детально разделы доступны по следующим тайм-кодам:
1️⃣ Работа с бинарными символами.
2️⃣ Шаринг кода и ресурсов.
3️⃣ Оптимизация ассетов.
4️⃣ Сохранение основного потока лёгким по возможности.
5️⃣ Использование Static Dispatch.
6️⃣ Разбор менеджеров пакетов, их преимущества и недостатки.
7️⃣ Оптимизация CoreML-моделей.
8️⃣ Про постоянные улучшения.
😃 iOS Dev
📺 Itay Brenner и Vincent Pradeilles дают практические советы и разбирают способы повышения производительности в видео.
Более детально разделы доступны по следующим тайм-кодам:
1️⃣ Работа с бинарными символами.
2️⃣ Шаринг кода и ресурсов.
3️⃣ Оптимизация ассетов.
4️⃣ Сохранение основного потока лёгким по возможности.
5️⃣ Использование Static Dispatch.
6️⃣ Разбор менеджеров пакетов, их преимущества и недостатки.
7️⃣ Оптимизация CoreML-моделей.
8️⃣ Про постоянные улучшения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4🎉2❤1💯1🏆1🆒1
Для этого нужно будет использовать
StoreKit External Purchase Link Entitlement
, выполнить ряд условий и заполнить форму.При этом комиссия Apple составит 27 % от выручки.
Важнейший шаг к альтернативным сторам?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52🎉17🤩6👍5🤯5❤3🆒3🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Swift-библиотека для моделирования и визуализации графов
⭐️ Её целью является расположение узлов графа так, что все рёбра имели бы более-менее одинаковую длину, ну и свести к минимуму число пересечений рёбер.
Часто подобное можно увидеть в визуализации соцсетей, связей страниц в той-же вики, например, и так далее.
Вы наверняка видели разные реализации таких штук на других языках, но вдруг вам пригодится и такое решение.
🛠 Сама либа от Zhen Li доступна здесь, и получившийся итог завораживает!
😃 iOS Dev
Часто подобное можно увидеть в визуализации соцсетей, связей страниц в той-же вики, например, и так далее.
Вы наверняка видели разные реализации таких штук на других языках, но вдруг вам пригодится и такое решение.
🛠 Сама либа от Zhen Li доступна здесь, и получившийся итог завораживает!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍8🤩4🆒2❤1🏆1