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

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
В iOS 15 появился протокол FormatStyle, который сильно упрощает локализацию различных типов данных, включая свои собственные. В статье приводятся примеры его использования с датами, единицами измерения, числами и кастомными типами.
В Xcode 13.3 появилась новая утилита `xcdebug`, которая подключается к вашему приложению, запущенному через Xcode, прямо из командной строки. Документации у Apple пока нет, примеров использования тоже, поэтому делитесь вашими кейсами, если будете пробовать!
Merge queue – это практика работы с Git, которая облегчает жизнь с большим количеством веток, в которых меняются одни и те же файлы.

В чем суть проблемы – у вас может в один и тот же момент времени висеть сразу несколько веток с зелеными тестами относительно текущего состояния main. Но как только одна из веток будет слита, все остальные станут красными.

Merge queue решает проблему следующим образом. Все PR попадают в единую очередь. Валидность кода в PR проверяется относительно main, в который будут слиты все предыдущие ветки из очереди. Если PR остается зеленым, то он сольется автоматически. Если нет – то либо заблокирует очередь, либо будет автоматически выкинут из нее.
В Xcode 13.3 появился новый режим работы билд-системы, который может существенно ускорить сборку некоторых проектов. Чтобы его активировать, используйте следующий флаг:

defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1
Синтаксис регулярок – это ад. Мало кто способен читать их и, тем более, писать, без использования сторонних сервисов валидаторов. Команда Swift внесла пропозал, который добавит в язык новый DSL для составления регулярок. Выглядит не фонтан, но часть проблем в работе с regexp решит.
VK подготовили Weekend Offer для мобильных разработчиков с бонусом в виде дополнительной зарплаты на старте. Они принимают заявки с 21 до 31 марта: в течение этого времени с вами свяжутся и введут в курс дела. Ищите все подробности тут. Там же можно и заявку отправить. Удачи!
Все знают C как простой и довольно предсказуемый язык. Но и в нем есть свои паззлеры и неочевидные возможности. Вот список нескольких интересных сниппеты.
Представим на секунду, что мы живем в старом мире и можем купить себе новую технику Apple. Купили бы что-то из них?
Anonymous Poll
16%
Оба
16%
Только Mac Studio
11%
Только Studio Display
37%
Ничего
20%
Посмотреть результаты
Lyft – один из самых крупных адоптеров Bazel среди команд iOS разработки. Держите подкаст, в котором главный за Bazel в Lyft делится их опытом:
📌Как команда живет с Bazel и монорепами
📌Как Lyft заадоптил Bazel
📌Как команда поддерживает конфигурацию билда
📌Что такое Bazel в целом
📌Как вкатиться в Bazel
Apple на App Review:
«У вас в приложении есть SafariViewController, а значит вы можете показывать любой контент, ставьте 17+ приложению»

Тоже Apple:
Удобный сервис для того, чтобы вспомнить размеры экрана и различных UI элементов для любого устройства от Apple.
Бывает, что при работе со SwiftUI начинает постоянно появляться сообщение «Automatic preview updating paused». В статье разбирается, откуда появляется эта ошибка, и как от нее избавиться.
История рефакторинга старого приложения Uber длиною в год. Автор честно рассказывает про накопившийся к тому моменту техдолг, неудачные попытки рефакторинга и компромиссы, вызванные принятыми архитектурными решениями.
Разбор логики того, как в SwiftUI происходит управление жизненным циклом View и привязанного к ним стейта. Особенно интересно там все работает у списков.
Продолжим погружаться в проблемы больших команд мобильной разработки. Ребята из Lyft рассказывают, как у них организован мобильный CI. Из интересного:
📌Вся конфигурация CI описывается в вендоронезависимом конфиге
📌Промежуточная абстракция позволяет на каждый коммит дергать разных агентов и разных провайдеров CI
📌Все живет на self-hosted машинах
📌Список задач, которые надо дернуть для каждого PR, генерируется на лету после анализа содержимого PR
Я уже выкладывал новый инструмент для построения связей между модулями от Миши Рубанова из Додо. И тем, кто попробовал, и тем, кто не стал, рекомендую прочитать его новую статью про то, с какими проблемами он столкнулся при разработке. Супер вдохновляющая история для всех, кто подумывает сделать свой пет-проект.
Тикеты с багами в Swift переезжают из Jira на GitHub! Если вы когда-нибудь репортили проблемы в bugs.swift.org, то вам надо донастроить свой профиль, чтобы автомиграция на GitHub сработала нормально:
1️⃣До 7 апреля в своем профиле в Jira указать имя пользователя на GitHub
2️⃣До 18 апреля принять приглашение во временную организацию на GitHub swift-issues-migration.