iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.5K subscribers
695 photos
65 videos
4.07K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Как следить за позицией скролла в SwiftUI

ScrollView в SwiftUI, в отличие от UIScrollView из UIKit, не дает простого способа следить за изменением позиции скролла. В статье разбирается, как с помощью GeometryReader можно получать текущий фрейм content view, а потом переводить его в нужную нам систему координат. Как бонус – вспомните, как вообще под капотом работает скролл!

Перевод на русский язык
🤡27👍22🔥2👎1💅1
Темизация кастомных компонентов SwiftUI

Большой гайд по использованию SwiftUI view style API для того, чтобы переиспользовать стили между различными кастомными компонентами в приложении. Помимо цветов, выравнивнивания и других визуальных параметров, темизации так же поддаются и параметры accessibility.

Перевод на русский язык
👍29🔥1💅1
Как создавать кастомные SF Symbols

Если вы хотите использовать один из существующих SF Symbols, но он не до конца вас устраивает, его можно подкрутить вручную:

📥Экспортируйте его из SF Symbols через File->Export, и откройте в Sketch
🖌️Подкрутите нужный вам слой
📤Экспортируйте его в SVG и перенесите обратно в SF Symbols

Перевод на русский язык
17💅9👍7😱5😁2
Как ускорить инкрементальный билд, если вы используете SwiftLint

warning build: Run script build phase 'SwiftLint' will be run during every build because it does not specify any outputs

Если вы видите такой ворнинг в своем проекте, то статья помодет не только избавиться от него, но и существенно ускорить инкрементальный билд, благодаря тому, что SwiftLint будет запускаться не всегда.

Перевод на русский язык
🤡16👍6💅6🔥5🗿1
Перевод GitHub Action Runners на self hosted macOS виртуалки

- Cilicon – инструмент для запуска macOS виртуалок, под капотом которого используется Virtualization Framework.
- Авторы Cilicon используют его для того, чтобы экономить на дорогих macOS агентах в GitHub.
- Помимо экономии, они получили профит и в скорости – MacBook Pro на M1 справляются с задачами где-то в 3 раза быстрее обычных агентов.

Перевод на русский язык
🔥17👍4🤡2😱1💅1
This media is not supported in your browser
VIEW IN TELEGRAM
Play – инструмент для работы с дизайном интерфейсов на iOS

Кажется, это первый полноценный редактор UI на мобильных устройствах. Из интересного:

*️⃣Импорт из Figma
*️⃣Разработка интерактивных макетов с поддержкой жестов
*️⃣В макеты можно встраивать нативные контролы iOS
🤔28🔥16👍5❤‍🔥1💅1
Конференция Podlodka iOS Crew про инфраструктуру

👀Поддержка AB тестирования и аналитики для большого проекта
👀Выстраивание архитектуры сложных CI/CD скриптов
👀Решение dependency hell с помощью Bazel
👀Работа с App Store Connect API без Fastlane
👀Продвинутые фичи Firebase, Gitlab CI и GitHub Actions

А так, все как вы любите – куча воркшопов, разбор экспертами ваших кейсов, прикладные tips&tricks и куча общения в закрытом сообществе в Телеге.

📆Даты: 27 февраля – 3 марта
👍12🔥5🤡2💅1
Эволюция архитектуры iOS приложения Facebook

10 лет быстрого роста команды и постоянно меняющихся требований привели архитектуру Facebook к следующему состоянию:

🤯Классов настолько много, что Xcode не может их загрузить.
📦Apple SDK практически нигде не используется напрямую, вокруг всего написаны свои абстракции.
🛠️Куча кодогенерации на Buck.
Если отключить кастомные механизмы кеширования, билд приложения занимает сутки.

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


Перевод на русский язык
🤡60😱20😁5💅41👍1
VK подготовили Weekend Offer в команды Дзена, Почты Mail.ru, Антиспама и Маруси для ML- и мобильных разработчиков

Java-разработчиков тоже ищут, в команде ML Дзена (для тех, кто хотел начать развиваться в ML).

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

Оставить отклик можно тут
🤡79👍9👎4🌭1💅1
Как избегать ошибок в релизном пайплайне

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

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

Перевод на русский язык
👍5💅3👎2
Как прокачать работу с i18n в вашем приложении

На первый взгляд, в локализации нет ничего сложного – закидываешь строки в Localizable.strings, отдаешь каким-нибудь переводчикам, и готово. Но не все так просто. С ростом кодовой базы, размера команды или частоты релизов вы начнете сталкиваться с ограничениями такого подхода.

Ребята из OTUS делают классный открытый урок про разные техники работы с локализацией и полезные инструменты, которые могут упростить вам жизнь. В программе воркшопа:

🐞Проблемы с разработкой и тестированием локализации
🛠Кодогенерация с помощью SwiftGen и R.swift
🔢Тонкости работы с плюрализмом в строках
🇬🇧Автоматизация ревью строковых констант с помощью Localinter
💸Платформы для профессиональных переводов строк

Воркшоп является частью онлайн-курса «iOS Developer. Professional» от OTUS
📆16 февраля в 20:00
👉Регистрация
🤡6🔥5👍2👎21💅1
This media is not supported in your browser
VIEW IN TELEGRAM
Как следить за позицией указателя в macOS и iPadOS

В последнюю версию SwiftUI завезли новый модификатор onContinuousHover. С его помощью можно следить за относительной позицией указателя мыши, когда он находится внутри границ вьюшки.
👍33🔥1💅1
Цвета и цветовые пространства

Вы красите кнопки, но делаете это без уважения к цветам. Чтобы исправить ситуацию, мы записали выпуск Подлодки про то, что такое цвета, какие бывают цветовые пространства и чем они различаются, как они выглядят в картинках и градиентах и как отображаются на экранах.

Вдогонку – хорошая статья за авторством гостя про историю развития цвета в CSS и новый формат OLKCH.
💅24👍3🔥2👎1
Репозиторий с подборками кастомных SF Symbols

На прошлой неделе я выкладывал пост с инструкцией по импорту кастомных SF Symbols. Вы можете не только рисовать их сами, но и импортировать уже подготовленные для вас.
🔥33💅9🤩3
Ограничения работы с ML на девайсе

Если вы планируете запускать нейронку прямо на пользовательском девайсе, то стоит быть готовым к разным проблемам и ограничениям. Список основных – в статье.
👎9👍7💅1
Формулы, описывающие относительное восприятие размеров

Я думаю, вы часто встречались с тем, что фигуры разной формы, вписанные в квадрат одного размера, воспринимаются человеческим глазом как неравные. Обычно в таких ситуациях дизайнеры начинают подгонять размеры на глаз. На самом деле, многие из таких преобразований можно делать не наугад, а используя понятные формулы. В статье разбирается несколько таких частых случаев.
👍33💅9
Превью ТСА 1.0

Если вы используете ТСА, то пора бетатестить первую стабильную версию и оставлять команде фидбэк. Обратная совместимость в основном не сломана, но удалено много старого кода, поэтому что-то может отвалиться.
🤡18🤩13💅5👍2👏21👎1🗿1