Telegram Web Link
Количество новых приложений на React Native упало на 40 процентов

По данным AppFigures, которые анализируют используемые приложениями SDK, в 2022 году количество приложений, содержащих в себе зависимости React Native, упало на 43%. Важно понимать, что количество новых релизов в целом стало меньше на 8%, но это объясняет лишь маленькую часть падения.

При этом, до прошлого года React Native рос довольно бодренько.
Как использовать один и тот же код для Xcode Previews и снепшотного тестирования

В статье разбирается, как с помощью библиотеки PreviewSnapshots можно использовать один и тот же код для того, чтобы отображать его в Xcode Preview, и для того, чтобы генерировать вьюшку, которая может использоваться в XCTest ассертах. Идея в целом довольно разумная, и снепшотные тесты вы можете получить почти бесплатно.
Поиск спикеров в Podlodka iOS Crew

Программный комитет любимой конференции айосеров готовит новый сезон с фокусом на разную инфраструктуру – сборку, CI/CD, обеспечение качества, организацию аналитики и локализации.

Если вы решали какие-то интересные задачи по теме, то откликайтесь в форме. Вам подберут подходящий формат, помогут подготовить выступление и отсыпят кучу плюшек! Форма открыта до 3 февраля.

Если вы не готовы выступить сами, но готовы привести нам крутого спикера – мы дадим бесплатную проходку на сезон. Так что перекидывайте приглашение и зовите своих коллег!
Как работает Advanced Data Protection в iCloud

Обычно все ваши данные в iCloud шифруются ключом, который хранится на серверах Apple. В декабре Apple анонсировали несколько новых фичей, связанных с безопасностью. Одна из них – Advanced Data Protection, которая хранит ключи шифрования только на устройствах. По сути, это end-to-end шифрование из коробки для всех приложений, которые используют CloudKit. Но у этого есть несколько нюансов:

*️⃣Зашифрованные поля в данных не поддеррживают индексы, поэтому из нельзя включать в предикаты.
*️⃣Если вы выставляете publicPermission для какого-то из файлов, и он становится доступен по ссылке, ключи шифрования загрузятся на сервер Apple.
*️⃣Вы не можете знать, включен ли ADP у конкретного пользователя. Правильным будет расчитывать на то, что включен, и работать с приватной информацией черещ новый API.

Документация по encryptedValues API
Перевод на русский язык
Swift и Objective-C в одном XCFramework

С интеропом Swift и Objective-C нет проблем, но есть нюанс. Если вам нужен интероп внутри фреймворка, придется сделать интерфейс взаимодействия Swift<>Objective-C публичным, и он будет доступен всем пользователям фреймворка. Это подойдет не во всех случаях.

В статье разбирается два воркэраунда – для импорта Swift в Objective-C и наоборот.

Перевод на русский язык
Надо ли подаваться в App Store Small Business program каждый год

У App Store есть специальная программа для тех, кто зарабатывает меньше миллиона долларов в год на своих проектах – Small Business Program. Основная плюшка – вы платите 15% комиссии вместо 30%.

Недавно на почты многим разработчикам, участвующим в программе, пришло письмо с заголовком «You’re eligible for the Small Business Program». Если вы увидели такое же, не переживайте – саппорт пишет, что каждый год продлять программу не надо.
Обмен данными между iPhone и Apple Watch с помощью WatchConnectivity

WatchConnectivity – системный фреймворк, который дает простой API для передачи данных между телефоном и часами. Важно – он предназначен для передачи небольших объемов данных. Для того, чтобы передать что-то более значимое, Apple рекомендует запрашивать данные напрямую с сервера через URLSession.

WatchConnectivity дает три способа передачи данных:

1️⃣ApplicationContext, для синхронизации очень часто изменяющихся данных.
2️⃣transferUserInfo, для гарантированной передачи данных даже в том случае, если часы сейчас недоступны. Работает только с реальным девайсом.
3️⃣sendMessage, для двустороннего обмена данными тогда, когда оба девайса видят друг друга.

Перевод на русский язык
Результаты большого опроса Developer Ecosystem по iOS разработчикам

🍹У 85% опрошенных в проектах есть и Swift, и Objective-C. У подавляющего большинства большинство кода на Swift.
🐞2/3 разработчиков не пишут юнит тесты. UI тесты пишет кще меньше, всего 20%.
🧱70% опрошенных используют CocoaPods, 47% – SwiftPM, 12% – Carthage. При этом половина использующих поды планирует переезд на SwiftPM.
☁️13% опрошенных делают что-то на Swift для сервера.
30 постов про работу с Metal

Серия постов для тех, кто раньше не занимался разработкой для GPU. Каждая статья – разбор одной из ключевых концепций Metal с простыми примерами, которые можно повторить самому.

Вот несколько постов для затравки:

🎨Рисование в 2D
💧Работа с глубиной
️Источники и направление света
️Рендеринг, основанный на физике
3D шахматы на SwiftUI и RealityKit

С очками все не очень понятно – по слухам их опять отложили на неопределенное время. В любом случае, в этом году будет полезно подтянуть свои знания по AR/VR и поиграть с разными идеями.

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

Перевод на русский язык
Как ускорить protocol conformance check

- Protocol conformance check каждый раз при выполнении в рантайме проходится по всем ProtocolConformanceDescriptor, содержащимся в бинарнике. Чем больше у вас протоколов, тем медленнее выполняется эта операция.
- В iOS 16 завезли улучшение за счет использования специального кэша, который хранит в себе посчитанные заранее результаты соответствия протоколов. Но есть ряд кейсов, в которых эта фича не работает, в частности при первом запуске приложения, когда кеши еще не заполнены, при отсутствии результатов проверки соответствия или на старых версиях iOS.
- В статье рассказывается, как с помощью специально настроенных order файлов, которые объясняют линкеру, как правильно группировать код, можно улучшить скорость во всех описанных сценариях.
- Авторы статьи в своих тестах получили прирост на 20% на iPhone 7 с iOS 15.

Перевод на русский язык
Релиз MarkdownUI 2.0

MarkdownUI – библиотека для работы с маркдауном в SwiftUI. Умеет рендерить изображения, заголовки, списки, цитаты, таблицы, код и многое другое.

На этой неделе вышла новая версия либы, куда завезли нативный SwiftUI рендеринг, кастомизацию через стили и темы, и полную поддержку GitHub Flavored Markdown.

Перевод на русский язык
За Swift concurrency – будущее многопоточки в iOS. Если вы еще не вкатились, то начало года – самое время, чтобы начать подтягивать свои знания и экспериментировать с новыми API. Первые шаги вы можете сделать уже послезавтра, на воркшопе от Ексея Пантелеева.

— Устройство многопоточности на уровне iOS
— Новую структурированную многопоточность переход от GCD и основную проблему GCD
— Реальные примеры на async/await
— Использование Actors в продакшене
— Перспективы развития новой многопоточности

Вебинар является частью большого онлайн-курса «iOS Developer. Professional» от OTUS.
Дата: 2 февраля, 20:00

👉Для регистрации пройдите вступительный тест: https://otus.pw/9Syy/
Sketch теперь импортирует файлы из Figma

Очень-очень радостная новость. Если вы любите использовать Sketch, и сидите в Figma только из-за предпочтений дизайнеров или кого-то еще в команде, теперь вы сможете легко импортнуть .fig в Sketch.
Как экономить на GitHub Actions

Раннеры на macOS стоят в 10 раз дороже, чем на Linux, поэтому думать об оптимизации расходов точно имеет смысл. В статье предлагается несколько техник:

🛠️Пересмотрите все задачи, которые гоняются на macOS, и вынесите независимые от операционки на Linux. Например, можно вынести прогон SwiftLint или SwiftFormat.
🫰Настройте фильтры, чтобы не гонять билды при изменениях в README или других ресурсах.
🏎️Запускать только одну джобу в моменте, и дать возможность свежим джобам убивать уже запущенные.

Перевод на русский язык
2024/09/30 18:23:11
Back to Top
HTML Embed Code: