iosgr | Технологии

Telegram-канал iosgr - iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

10615

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209

Подписаться на канал

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Какие API теперь нельзя использовать без разрешения от Apple

Apple закручивают гайки для приложений, которые пытаются использовать различные косвенные признаки, чтобы идентифицировать пользователя или его девайс. Начиная с этой осени, нельзя использовать следующие API без объяснения причин:

- UserDefaults
- File timestamp
- System boot time
- Disk space
- Active keyboard

Конечно, горит у всех именно от первого пункта – запретить использовать UserDefaults, которые есть в каждом приложении, это сильно.

Список еще не финальный и будет постепенно пополняться🤷‍♂️

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Исследование продуктовых дизайнеров

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

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как обновляют супераппы в Яндексе, откуда берутся новые фичи и как они связаны с клиентскими метриками, — обсудят на PLUS CAMP.

4 августа собираемся в Поле, поедим хот-догов, отдохнём, обменяемся опытом и поговорим о продуктовых командах. Будет много внутрянки и рабочих советов.

Такой формат IT-тусовки для тимлидов и техлидов от сервисов Яндекс Go и Яндекс Плюса. Подробности и регистрация.

Реклама ООО "ЯНДЕКС.ТАКСИ" erid: Kra23Vbx8

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Вебинар про то, как айосеру вкатиться в Vapor

Уметь писать бэкенд – полезный для мобильщика навык. Иногда нужно быстро накидать заглушки сервисов, иногда – поднять простой бэкенд с базой для своего пет-проекта, а иногда – бахнуть Telegram-бота для автоматизации какой-то рутинной задачи. Самый быстрый путь к решению таких задач для айосера – использовать Swift в связке с фреймворком Vapor. Знакомый язык, удобный тулинг для запуска сервисов прямо в Xcode, простой для изучения фреймворк.

В рамках вебинара с помощью Vapor будет написан простой API, организована база данных, и показано, как писать реактивный код с помощью SwiftNIO.

📆Дата: 1 августа в 20:00 по Москве
👉Регистрация: https://otus.pw/zlqY/

Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от Отус

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как выбирать имена ключам UserDefaults

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

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

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как уменьшить время прогона тестов в два раза

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Unidirectional Flow в Swift

Обзор того, как с помощью новых языковых фичей реализовать UDF-архитектуру, обладающую следующими свойствами: предсказуемость, тестируемость, поддержка превью, удобство дебага, модульность. Реализация есть на GitHub.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

_Davidsmith/110710731841983583">Названия макросов теперь зарезервированы

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как тестируют в 100 компаниях

Реаозиторий с подборкой ресурсов о том, как организовано тестирование и CI/CD мобильных приложений в очень разных компаниях. В списке есть Netflix, Reddit, Revolut и Uber.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Новая библиотека от Apple – swift-http-types

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

Основная идея – иметь единую библиотеку и для клиента, и для сервера, чтобы было проще шарить одинаковый код.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Apple Push Notifications Console

Apple выпустили новый сервис для тестирования push уведомлений. С его помощью можно отправлять тестовые пуши с любым пэйлоадом на конкретные девайсы, видеть детальные логи процесса доставки, проверять ваши токены.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Программировали, программировали и переросли свои задачи?

Работайте над масштабными ИТ-проектами в Тинькофф. Здесь тимлид хороший и задачи интересные. А работать можно прямо там, где живете: у Тинькофф есть ИТ-хабы в 25 городах России, в Беларуси, Армении и Казахстане.
Вакансии тут: https://u.tinkoff.ru/it-prof.2023

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Запуск Xcode Preview на девайсе

В последнем Xcode превью можно запускать на реальных девайсах. Детали есть в этой сессии WWDC.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Какие приложения были первыми в App Store

Ребята собирают список 500 первых приложений и игр, появившихся в App Store. Пока получилось найти следы только 130 из них. Идеально для тех, кто хочет поностальгировать по старым временам.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

История миграции библиотеки из CocoaPods на SwiftPM

Разработчики ETTrace рассказывают, как они добавляли поддержку SwiftPM, и что она им дала.

Основной плюс переезда – конфигурация билда проекта стала проще, так как вместо xcodeproj используется простой Package.swift.

Из встреченных проблем:

- Много мелких багов в SPM
- Если зависимость не поддерживает SPM, приходится ее форкать и добавлять поддержку самостоятельно
- Пришлось рефакторить проект, чтобы Swift и ObjC код не были в одном таргете

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Законы UX

Список из 21 правила, которых стоит придерживаться при разработке интерфейсов. Каждое подкреплено ссылками на исследования.

🏎️Doherty Threshold – Пользователь воспринимает свою производительность оптимальной, если реакция на его действия не превышает 400мс.
🎯Fitt's Law – Время на то, чтобы прицелиться во что-то – функция от размера и удаленности цели.
🤔Jakob's Law – Пользователь проводит большую часть времени в других приложениях, поэтому для него будет идеально, если ваше приложение не будет от них отличаться.
⛰️Peak-End rule – Люди запоминают не весь опыт работы с чем-то, а его самый пиковый момент и самый последний.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Swift Macro Toolkit

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Инструкция по чекауту SPM зависимостей в репозиторий проекта

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Рекомендации по работе с OSLog

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

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Кейс адаптации приложения под visionOS

David Smith рассказывает, как он поэтапно адаптирует одно из своих приложений под visionOS, экспериментируя с различными подходами к его дизайну.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как шарить закладки в Xcode

В Xcode 15 появились закладки, с помощью которых можно размечать важные места в коде. По умолчанию закладки шарить нельзя, но если вы захотите это сделать – они хранятся в папке xcuserdata, которая, скорее всего, лежит у вас в .gitignore. Закладки лежат в подпапках для каждого пользователя.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Подходы к тестированию в Reddit

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

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Вакансия для тех, кто хочет работать с видео и AI

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Недостатки SwiftPM при шаринге общих модулей между проектами

Женя Ртищев рассказал про то, как он пытался красиво разложить общий код своих проектов по нескольким пакетам, и затягивать их к себе из приватного репозитория.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Разбор новых фичей Figma

👉Переменные, которые могут представлять цвета, размеры, эффекты, типографику и локализованные строки.
👉Новые настройки автолейаута, с помощью которых можно прямо в Figma делать адаптивный дизайн.
👉Новый Developer Mode, который позволяет готовить экраны для передачи их разработчикам.
👉Песочница компонентов, в которой дизайнер может легко переключать разные настройки экспортируемых компонентов и смотреть, как они себя ведут в граничных состояниях.
👉Поддержка в VSCode для работы с макетом прямо в IDE.
👉Плагины для экспорта дизайна в код на любом фреймворке.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Что видят пользователи неподдерживаемых версий OS в App Store

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Отслеживание переключателя тихого режима

Бесшумный режим в iOS не распространяется автоматически на проигрывание медиа. Поэтому Instagram умеет детектить включенность этого режима и глушить звук, если нужно. Проблема в том, что задокументированного API для этого нет. Самый известный воркэраунд – проиграть звук, и, если коллбэк о его окончании придет сразу же, считать бесшумный режим включенным.

Автор статьи пошел дальше и раскопал, на какое системное событие надо подписаться, чтобы "честно" узнавать о бесшумном режиме, и выпустил обертку, которую можно использовать и в ваших проектах.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

SwiftUI Data Flow 2023

Системный разбор всех способов организации работы со стейтом в SwiftUI с учетом новинок последней WWDC.

👉Код на GitHub

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Почему мы всё время начинаем и бросаем учить английский?

Одна из причин — мы не знаем свой уровень языка. В итоге берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут.

В итоге разрыв знаний удручает и мотивация снова падает.

Если вы готовы дать английскому ещё один шанс, Яндекс Практикум поможет поверить в свои силы и довести дело до конца.

Приходите на бесплатную консультацию в Яндекс Практикум:

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

Записаться

Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KKsBt

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Проигрывание gif в SwiftUI

В SwiftUI добавили новую функцию CGAnimateImageAtURLWithBlock, с помощью которой можно легко запускать анимированные гифки.

С ними связана и новая настройка accessibility, которая позволяет отключать анимированные изображения. Поэтому, если будете их реализовывать, не забывайте подписываться на AXAnimatedImagesEnabledDidChangeNotification и проверять AXAnimatedImagesEnabled перед проигрыванием гифок.

Читать полностью…
Подписаться на канал