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
Apple Push Notifications Console

Apple выпустили новый сервис для тестирования push уведомлений. С его помощью можно отправлять тестовые пуши с любым пэйлоадом на конкретные девайсы, видеть детальные логи процесса доставки, проверять ваши токены.
🔥137👍14🤡3💅2
Разбор новых фичей Figma

👉Переменные, которые могут представлять цвета, размеры, эффекты, типографику и локализованные строки.
👉Новые настройки автолейаута, с помощью которых можно прямо в Figma делать адаптивный дизайн.
👉Новый Developer Mode, который позволяет готовить экраны для передачи их разработчикам.
👉Песочница компонентов, в которой дизайнер может легко переключать разные настройки экспортируемых компонентов и смотреть, как они себя ведут в граничных состояниях.
👉Поддержка в VSCode для работы с макетом прямо в IDE.
👉Плагины для экспорта дизайна в код на любом фреймворке.
💅20🔥6🤡4👍1
Новая библиотека от Apple – swift-http-types

Библиотека содержит в себе базовые типы для работы с сетевыми запросами: HTTPRequest, HTTPResponse, HTTPFields, конвертеры в аналогичные типы в Foundation и хелперы для URLSession.

Основная идея – иметь единую библиотеку и для клиента, и для сервера, чтобы было проще шарить одинаковый код.
🔥72👍11💅4🤡1🌚1
Недостатки SwiftPM при шаринге общих модулей между проектами

Женя Ртищев рассказал про то, как он пытался красиво разложить общий код своих проектов по нескольким пакетам, и затягивать их к себе из приватного репозитория.
👎18🤡10👍9
Вакансия для тех, кто хочет работать с видео и AI

Ребята из 4spaces ищут iOS разработчиков на три приложения: редактор видео для рилсов/тиктока, создание медиаконтента с помощью AI и фоторедактор, тоже на базе AI. Приложения уже были в топе в нескольких странах в App Store. Требования довольно стандартные для любого айосера мидла. А если вы работали с AVFoundation, Metal, или набрались опыта по настройке CI/CD, то это будет значительным плюсом. Ах, да – вакансия полностью удаленная, а на весь процесс собеса ребята обещают потратить не больше 2 часов вашего времени!
👎42🤡22👍8🗿3😁21
Названия макросов теперь зарезервированы

Если вы использовали какое-то слово для названия макроса, при попытке использовать его же в названии объекта вы получите неочевидную ошибку – No macro named xxx. Пример – макрос #Preview.
👍10😢31👎1😱1
Подходы к тестированию в Reddit

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

👉1800 UI тестов, написанных поверх XCUITest. Они покрывают фичи, аналитику, пуши, эксперименты, локализацию и перфоманс.
👉Небольшой набор из этих тестов гоняется на PR, чтобы не пропускать критичные баги. В среднем занимает 16 минут. Полный сьют тестов гоняется по ночам, и занимает пару часов.
👉Для проверки локализации используется тот же самый набор функциональных кейсов, который оверрайдится настройкой локали.
👉Стабильность тестов держится на уровне 90%. Если какие-то тесты флакуют чаще ожиданий, они отправляются на карантин специальным сервисом.
🔥19🤡9👍41
Unidirectional Flow в Swift

Обзор того, как с помощью новых языковых фичей реализовать UDF-архитектуру, обладающую следующими свойствами: предсказуемость, тестируемость, поддержка превью, удобство дебага, модульность. Реализация есть на GitHub.
🤡29🗿12👍31🤬1
Как шарить закладки в Xcode

В Xcode 15 появились закладки, с помощью которых можно размечать важные места в коде. По умолчанию закладки шарить нельзя, но если вы захотите это сделать – они хранятся в папке xcuserdata, которая, скорее всего, лежит у вас в .gitignore. Закладки лежат в подпапках для каждого пользователя.
👍20🤡3😁2😱2🌚1
Как уменьшить время прогона тестов в два раза

Команда приложения Qonto, у которого написано 9.000 тестов, на прогон которых уходит 19 минут, поделились рекомендациями, которые помогли им срезать время прогона в два раза. В основном все крутится вокруг оптимизации генерации моков библиотеки SwiftyMocky.
👍2🤡2
Кейс адаптации приложения под visionOS

David Smith рассказывает, как он поэтапно адаптирует одно из своих приложений под visionOS, экспериментируя с различными подходами к его дизайну.
🔥17👍5
Как выбирать имена ключам UserDefaults

Автор поста пишет про частую практику, которую я тоже замечал – добавлять к названиям ключей UserDefaults префикс с Bundle ID приложения. На самом деле, это не имеет практически никакого смысла – plist с этими настройками уже лежит в папке с вашим Bundle ID.

Совет очевидный, но к статье накидали интересных комментов, когда коллизии все-таки возможны:

- Когда вы шарите UserDefaults с каким-то экстеншном.
- При использовании ключей, которые в UserDefaults сохраняет SwiftUI или AppKit.
- При использовании библиотеки, которая втихую пишет что-то в UserDefaults со своими ключами.
🔥9👍43
Рекомендации по работе с OSLog

Статья с рекомендациями по организации работы с OSLog:

📐Выравнивание данных с помощью alignment APIs
🌡️Уровни логирования и их визуализация
🔎Разные фичи Console.app
👍163
Инструкция по чекауту SPM зависимостей в репозиторий проекта

По умолчанию SwiftPM, в отличие от CocoaPods, не скачивает все зависимости прямо в папку проекта. Из-за этого на CI тратится значительно больше времени. В статье разбирается, как написать скрипт, который будет клонировать нужные зависимости в репозиторий, с минимизацией потребляемого места на диске.
15🔥6💅4
Swift Macro Toolkit

Набор хелперов, которые упрощают написание макросов. Например, позволяют не писать вручную обработку всех возможных представлений чисел с плавающей точкой (вдруг в макросе кто-то захочет использовать число -0xF_ep-0_2).
🔥6👍1
Исследование продуктовых дизайнеров

Я периодически провожу исследования различных областей разработки. Например, вот уже много лет подряд я опрашиваю кучу людей, чтобы понять, а что там происходит у айосеров и андроидщиков.

Вот прямо сейчас мы заканчиваем наш первый опрос продуктовых дизайнеров про то, чем они занимаются на работе, какие навыки прокачивают, как используют AI и за кем в сообществе следят. Чтобы результаты были репрезентативными, хочется получить как можно больше ответов. Если в вашей текущей или бывшей команде есть продуктовые дизайнеры – я буду очень благодарен, если вы пошарите им ссылку на опрос! Результаты я потом тоже обязательно в канал выложу.
💅7🔥2🫡21👍1