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
Пять видеоуроков PointFree про парсинг сырого инпута в структуры данных

💻Использование библиотеки swift-parsing для написания своих парсеров
🍏Сравнение со Swift Regex DSL
🚏Реализация URL роутинга в iOS приложении
🕸Реализация роутинга в серверном Vapor приложении
🔂Трансформация URL роутеров в API клиенты
18👍4💩4🔥1
Пару месяцев назад я выкладывал в канале опрос про то, планируют ли мобильные разработчики релоцироваться. Автор подвела результаты и выложила статью с аналитикой. Ответ на ваш главный вопрос – 40% планирует уехать, 48% не планирует, 12% уже уехали
👍17💩5🔥4
Тип Color в SwiftUI не является Codable по умолчанию. В статье разбирается, как сериализовать оба типа цветов – константные и динамические, меняющиеся в зависимости от контекста. Если хочется сразу посмотреть код – то вот GitHub.
💩30👍9
Выполнять базовые операции с Git умеет каждый iOS разработчик. Но вот более редкие фичи, которые иногда могут сэкнономить бесконечность времени, знают не все. Несколько примеров:
🕵🏻‍♂️`git bisect` – бинарный поиск коммита, внесшего баг в код, по всей истории за нужный интервал времени
🧊`git lfs` – расширение, позволяющее версионировать различные большие файлы
🍒`git cherry-pick` – перенос отдельных коммитов из одной ветки в другую

Если вы хотите улучшить свои знания Git, держите видеокурс от наших партнеров. Но, чтобы получить к нему доступ, сначала придется пройти тест на настоящего iOS разработчика!
💩49👍13🤮51👎1
Если вы подключаете через SPM к проекту зависимости с большим объемом исходного кода, то можете встретить кучу проблем с перфомансом. Чтобы это обойти, попробуйте подключать их сразу скомпилированными в XCFramework. В статье разбирается, как это сделать.
💩24🔥21👍2🤔1🤮1
В январе проскакивала новость, что Apple добавили в App Store новый тип распространения приложений – Unlisted. При его использовании приложение недоступно в каталоге и через поиск, и открыть его можно только по ссылке. В статье детально разбирается процесс публикации приложения в таком статусе, формы, которые надо заполнять, и проблемы, к котором могут придраться на ревью.
🔥25👍10💩5😁1
В Swift 5.6 в SPM завезли поддержку плагинов:
📌Build Tools, которые запускаются до и во время сборки
📌Commands, которые запускаются с помощью CLI

В гайде разбирается, как созлавать простые Command-плагины, как со своей собственной логикой, так и обертки над другими инструментами вроде swift-format.
🔥20💩12
Уже через неделю начнется WWDC! Помогите подготовить гайд для сообщества:
1. Если вы организуете совместный просмотр кейноута в своем городе, напишите мне в личку (@etolstoy)
3. Если вы знаете кого-то, кто будет на WWDC вживую, и готов вести текстовую трансляцию с места событий, сведите его со мной!
4. Если есть идеи, что еще крутого можно сделать вокруг WWDC – тоже пишите!
💩23🔥162👍2🎉2
У Apple есть специальная программа Swift Mentorship Program, цель которой помогать разработчикам контрибьютить в свифтовый open source. В 2021 году кто-то контрибьютил в документацию, кто-то – в Vapor, а кто-то – в компилятор.

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

📆Таймлайн:
1-15 июня – подача заявок
27 июня – анонс участников
4 июля-23 сентября – работа над проектом
30 сентября – сбор фидбэка и окончание
🔥18💩7👍62
До 30 июня все приложения, в которых есть регистрация пользователей, должны реализовать возможность удаления профиля.
🔎Ее нельзя прятать куда-то очень далеко, она должна быть хорошо заметна
🍏Те, кто использует Sign in with Apple должны не забыть ревоукнуть токены
🤷🏻‍♂️Недостаточно просто блокировать аккаунт, надо удалить все связанные с ним данные
👍25💩14🤯3🔥2
В Swift 5.6 (Xcode 13.3) завезли флаг компиляции -experimental-hermetic-seal-at-link
который позволяет вырезать неиспользуемый код на этапе полной линковки.
Судя по бенчмаркам стоит ожидать уменьшение размера бинаря +- в 3 раза.

Будем ждать упоминания на WWDC и включения осенью по дефолту!
за новость спасибо @petropavel
🔥71👍10💩4
Разработчики Юлы (проекта VK) запустили свой канал в Телеграме, где делятся ценными материалами о разработке, интересными проектами и активностями, которые можно посетить, и выступлениями сотрудников. Полезный канал для iOS-разработчиков, подписывайтесь!
💩76🤮8🔥4🤬2
Огромная подборка отзывов про работу со SwiftUI в его текущем состоянии от известных айосеров. В основном все жалуются на то, насколько фреймворк и тулинг вокруг него сырой, на скорость Apple в исправлении проблем и на отсутствие обратной совместимости. Но есть и позитивные отзывы.
💩27👍11👎1😁1
Каждое переключение между git ветками ведет к тому, что проект начинает переиндексироваться, скорость билда уменьшается, появляется раздражающий ворнинг про «The file has been modified by another application». В статье разбирается, как использование git worktrees помогает справляться с этой проблемой за счет создания копий проекта.
👍21💩14
Самый прямолинейный способ заинжектить какой-то код в момент вызова Objective-C метода – это method swizzling. Но есть случаи, когда его использовать не получится – например, если нужная вам функция написана на C++. В статье разбирается, как использовать переменную окружения DYLD_INSERT_LIBRARIES, чтобы заинжектить в приложение фреймворк, перехватывающий все вызовы нативного кода к кейчейну. Это может быть полезно в тех случаях, когда вы хотите обложить перфоманс-метриками или логами. какую-то стороннюю нативную библиотеку в своем проекте.
👍20💩20🤯2