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

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

Размещение рекламы: @tanyasanovna
Download Telegram
MockingKit – это Swift библиотека для создания удобных динамических моков протоколов и классов. В отличие от моков, создаваемых вручную, в этом случае не придется реализовывать внутреннюю логику руками. Моки автоматически будут записывать, кто и сколько раз к ним обратился, и какую информацию передал.
👍17🔥2
Environment в SwiftUI работает как словарь, в котором каждому ключу соответствует определенный тип данных. Например, isEnabled гарантированно содержит Boolean, а font Optional<Font>. Держите Gist с реализацией аналогичной структуры данных, и статью про особенности ее использования.
👍6💩2🤔1
Любое приложение, которое делает https запросы, спамит в консоль логами вида [boringssl] boringssl_metrics_log_metric_block_invoke(151) Failed to log metrics. Автор статьи раскапывает причину их появления с помощью дизассемблера и находит способ, как их можно заглушить.
🔥46👍6
SwiftNIO в ближайшем релизе дропают поддержку CocoaPods, с рекомендацией всем пользователям переходить на SPM. Основная причина – релиз в CocoaPods довольно трудоемкий, требует поддержки кучи podspec и постоянного разбора проблем подов. Кажется, первая ласточка того, что использование библиотеками CocoaPods будет постепенно снижаться.
26🤮11👍8💩3😢2🎉2
Интересный кейс поэтапной проработки архитектуры SwiftUI приложения со сложным лэйаутом из нескольких таблиц, данные которых зависят друг от друга.
👍19
Два неожиданных факта про отзывы к приложениям:
1️⃣Их количество и оценки значимо влияют на поисковые позиции в сторе.
2️⃣При использовании системного API для предложения оценить приложение, показ алерта не гарантирован – iOS сама решает, показывать его или нет.

Твиттер-тред с деталями.
😱11👍2😁1
Мы в канале регулярно вспоминаем Realm, который недавно обрел вторую жизнь, став мультиплатформенным. Несмотря на то, что Core Data закрывает большинство потребностей по работе с данными, Realm прочно держит свою нишу, и иметь свое собственное представление о его работе – очень полезно. Чтобы разобраться в деталях, подключайтесь к воркшопу который проведет Антон Марунько, iOS Team Lead в Kupibilet, где расскажет, как с помощью Realm можно работать с данными в простом приложении и поотвечает на вопросы.

На вебинар стоит заглянуть и тем, кто только планирует вкатываться в iOS разработку. Помимо технической части, на нем поговорят и про актуальность профессии и перспективы в текущей обстановке новых ограничений от Apple.
💩50👍6
Вопрос #12 из State of iOS Toolchain 2022. Какие линтеры/форматтеры вы используете для Swift кода?
Anonymous Poll
3%
swift-format
13%
SwiftFormat
76%
SwiftLint
1%
Другое
15%
Не использую
8%
Посмотреть результаты
🤔2🤮2
Bazel – это альтернативная билд система, которая относительно распространена среди Android разработчиков, но засматривается и на iOS. Ее основные плюсы – инкрементальная сборка из коробки и отвязанность от xcodeproj файлов.

Держите туториал по тому, как затащить Bazel в существующий iOS проект, подключить инкрементальную сборку и кеширование скомпилированных модулей.
💩31👍125🤔4
Практически любую проблему можно решить добавлением в проект еще одной зависимости. Этот подход очень распространен среди JS проектов, но и в iOS им любят злоупотреблять. Но зависимости не даются бесплатно, у них есть своя цена:
📌Сложности с управлением их версиями
📌Необходимость проверять и поддерживать их изменения при апдейте версии
📌Увеличение билд тайма
📌Необходимость закапываться в исходники библиотеки при появлении проблем
📌Влияние на архитектуру проекта
📌Общий рост размера кодовой базы
📌Потенциальные дыры в безопасности
📌Усложнение онбординга новых разработчиков

В статье неплохо раскладываются все эти проблемы. Подойдет, чтобы скинуть вашему коллеге, который в очередной раз затащил в Podfile что-то странное.
👍20💩3
Вопрос #14 из State of iOS Toolchain 2022. С какими сетевыми протоколами чаще всего работают ваши приложения?
Anonymous Poll
93%
JSON
6%
XML
11%
Protobuf
3%
Другое
6%
Посмотреть результаты
🤯6👍5💩4
Как бы вы поступили, если бы вам надо было придумать способ сериализовать AttributedString? Скорее всего, реализовали бы какую-нибудь структуру, в которой ставили бы в соответствие рейнджу символов определенное свойство. И такой подход быстро сломался бы. Про то, почему так произошло бы, и как подходить к такой залаче правильно – в статье.
👍7💩4
Иметь стандартизированный подход к определению версий приложений – очень полезно. Это упрощает коммуникации между командами, триаж багов, предсказуемость объема релиза. В статье разбирается несколько подходов к определению версий мобильных приложений.
👍4
Админ нашего чата Евгений Елчев, известный многим как Джон Фир, закончил записывать свой бесплатный курс по Dart и Flutter. Все космические 102 урока доступны на Youtube, смотрите их и подписывайтесь на Женю, он крутой!
🔥147👍12💩125👎1
Apple выкатили детали про то, какие именно приложения подлежат удалению из App Store:
📆Не обновлялись последние три года
🫙За последний год практически не скачивались

На то, чтобы отреагировать на уведомление и обновить приложение, разработчикам будет даваться 90 дней.
👍22🤔131🤬1