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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Подробная статья про то, как реализовать в своем SwiftUI приложении поддержку тем, если только переключения между светлой/темной темой недостаточно.
This media is not supported in your browser
VIEW IN TELEGRAM
Ночь в Финтехе

К нам пришли ребята из Финтеха Яндекса с новыми (почти безумными) идеями. Что на этот раз? Рассказываем.

Многие из вас наверняка хотели бы сменить работу, но что-то всё время мешает: страшно, рискованно, дискомфортно. А ведь так правда бывает — сделал тестовое, прошел все секции, принял оффер, а потом вдруг понял, что все не то: коллеги душные, задачи грустные и кофе на кухне невкусный.

Все ребята из Финтеха через это когда-то проходили и теперь придумали совершенно новый формат: приглашают мобильных разработчиков к себе на пятничную офисную вечеринку — познакомиться и понять, хочется вам работать вместе или нет. Бургеры, плейстейшен, напитки и музыка – обычный вечер пятницы в офисе, где можно проникнуться атмосферой и понять, на одной ли вы волне.

Вечеринка будет в Москве, но если вы из другого города – ребята обещают организовать поездку. Все на полном серьезе — все подробности читайте здесь.
Sha256 – криптографический алгоритм, который помогает получить хеш от любого произвольного сообщения. На прошлой неделе вируснулся сайт, который пошагово на понятных интерактивных схемах объясняет, как этот алгоритм работает (запустится только на десктопе). Попробуйте: во-первых, это интересно, во-вторых, очень красиво!

А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
Apple вернули когда-то существовавший в документации раздел Technical Notes. В нем публикуются ответы технической поддержки на частые вопросы, которые не раскрыты в основной документации. Из интересных заметок рекомендую посмотреть на следующие:
Как поддержать HTTP/3 в приложении
Обзор всех API, связанных с работой с Wi-Fi
Алгоритм поднимания приложения по запросу от Core Bluetooth
Вводная статья в настройку Xcode Cloud для нового проекта. Если вы, как и я, совсем пропустили шумиху вокруг его анонса и старта закрытой беты, то она поможет составить себе базовое представление о сервисе.
Как показал мой недавний опрос и его бурное обсуждение в комментариях, Auto Layout продолжает очень активно использоваться в кодовых базах, и разбираться в нем должен любой iOS разработчик. Я обязательно соберу подборку полезных статей по теме на следующей неделе, а пока – бегите регистрироваться на воркшоп по Auto Layout 22 февраля, где можно будет позадавать спикеру свои вопросы и подсмотреть новые практики.
В документацию добавили приложение-каталог со всеми элементами из UIKit. С каждым можно поиграться и посмотреть на его поведение в разных ситуациях. Идеальная штука, чтобы собрать ее на телефоны дизайнеров.
Подписчик канала поделился своим проектом – приложением для macOS, которое позволяет подменять локацию запущенного параллельно симулятора. Вот что оно умеет:
🗺ставить локацию к текущей геопозиции
🗺ставить локацию к точке на карте
🗺строить маршрут между точками и симулировать движение по нему с заданной скоростью

Полезная штука для всех, кому нужно дебажить приложения, работающие с геолокацией.
Команда Авито гоняет 1500 компонентных тестов на каждый PR, причем сразу на двух версиях iOS – самой старой поддерживаемой и самой новой. Если запускать их последовательно, то весь прогон занимает больше 2.5 часов. В статье рассказывается про их опенсорсный тест-раннер Emcee, который сокращает время прогона этих тестов до 15 минут. Из интересных фичей Emcee:
🐑Управление симуляторами на ферме Mac Mini
📈Сбор статистики по запускам
🔄Перезапуски при необходимости
🛠Интеграция с другими частями тестовой инфры
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
Линкер – это специальная программа, которая собирает в один исполняемый файл несколько скомпилированных отдельно объектных файлов. Напрямую с линкером вы скорее всего работаете редко, максимум – в Build Settings какие-нибудь флаги выставляете или разбираетесь…
☀️Просыпайтесь, айосеры, пора переводить ваши приложения на SwiftUI. Но только после того, как вы прочитаете наш еженедельный дайджест топовых материалов!

🔥Самые заплюсованные вами статьи за неделю.
Серия статей про линкеры
Про раннер тестов Emcee
Apple Technical Notes

🎨В течение недели было несколько неплохих материалов про разработку UI. В топ они не пробрались, но если вы любите красить кнопки больше, чем писать тесты или заниматься архитектурой – вам понравятся.
Два способа реализовать градиент на UILabel
Темы в SwiftUI
Тред про недостатки Auto Layout

🛠Еженедельная секция “Полезные инструменты”.
Подмена локации в симуляторе
Каталог всех UIKit элементов

👀Напоминаю, что в Good Reads есть и другие каналы: @leadgr, @droidgr и @qa_channel. Я не понимаю, почему вы на них еще не подписались!
Как сделать встречи менее бесполезными
Зачем QA уметь в CI/CD
Серия статей про организацию архитектурных интервью для мобильщиков

Жду ваших реакций ❤️🥰👍🔥. Они помогают мне понять, что дайджесты вам все еще нужны! А в комментариях жду любые идеи по развитию канала дальше!

#digest
Большие вьюшки в SwiftUI часто содержат в себе сразу несколько триггеров обновления отображения. Чем сложнее вьюшка, тем тяжелее понять, который из них стал причиной того, что поведение отличается от ожидаемого. В статье разбирается несколько способов дебага, которые спасают в такой ситуации.
Еще один сайт с подборкой неочевидных советов по работе с Xcode. В отличие от того, что я постил в прошлый раз, этот:
1. Актуальный
2. С классными иллюстрациями
3. Часто обновляется
Ребята из MartianCraft написали большую статью про свой подход к собеседованиям iOS разработчиков. Из интересных практик:
💻На технический собес кандидат должен принести какой-то свой код для обсуждения: пет-проджект, рабочий проект, какие-то сниппеты
💬 Все интерью строится вокруг самостоятельного рассказа кандидата об этом коде
🙋Если какая-то тема не раскрывается, про нее задают дополнительные высокоуровневые вопросы
🏡Иногда кандидату дают тестовое – добавить какую-то фичу в эту кодовую базу

Помимо самого процесса в статье есть еще и перечисление тем, знания которых ребята ожидают от кандидата.
В GitHub теперь можно дополнять любой текст автоматически генерируемыми диаграммами. Это работает и в README, и в описании PR, и в комментариях. Попробуйте, для объяснения сложных взаимодействий компонентов кода это работает гораздо лучше написания длинных блоков текста.

Пример Mermaid кода для описания диаграммы:
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
С iOS 15 AttributedString и Text поддерживают рендеринг Markdown строк. В статье рассказывается про три неочевидных момента:
- Поддерживается не просто маркдаун, а его расширенная версия – GitHub Flawored Markdown.
- Интерполяция не работает, если подставлять строковую переменную as is, надо заворачивать в LocalizedStringKey.
- Переносы строк не работают, если не добавить специальное свойство