iOS Broadcast
3.31K subscribers
1.7K photos
84 videos
973 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Introducing EditKit Pro

EditKit Pro встраивается в Xcode и добавляет:
👉 генерацию комментариев MARK
👉 Beautify JSON, например, для моков
👉 генерацию Codable структур из JSON
👉 разбиение массива или длинной строки на несколько строк
👉 сортировку по алфавиту для импортов и других строк кода
Это лишь некоторые фичи EditKit Pro
Ссылка на скачивание

#tools
👍10👎1
7 открытых iOS-проектов, которые помогут изучить SwiftUI

👉 Clean Architecture for SwiftUI + Combine
👉 The OldOS Project - воссоздает полнофункциональную версию iOS 4 в SwiftUI
👉 SwiftUICraft - Minecraft, но сделанный с помощью SwiftUI
👉 Velik - приложение для отслеживания поездок, созданное на SwiftUI с использованием Combine и CoreData
👉 Open Sesame - менеджер паролей с множеством функций
👉 Swiftui 2048
👉 Expense Tracker - приложение для отслеживания расходов, созданное с помощью Core Data и SwiftUI

#swiftUI
👍8👎1
Peer group benchmarks

С помощью peer group benchmark в App Analytics вы можете сравнить свое приложение с похожими по нескольким ключевым показателям, включая коэффициент конверсии, коэффициент удержания на 1-й, 7-й и 28-й день, коэффициент сбоев и средний доход на одного платящего пользователя, чтобы понять эффективность вашего приложения. Показатели определяются так же, как стандартные показатели приложений в App Analytics, и отображаются с недельными интервалами.

#appstore
🤩2👎1
A Better Way To Test Reference Cycles in iOS

Как реализовать тестирование на цикл сильных ссылок:
1️⃣ В тестовом классе добавляем weak var weakSUT на тестируемый объект
2️⃣ Определяем вспомогательный метод, который инициализирует тестируемый объект и присваивает weakSUT его значение
3️⃣ В методе tearDown добавляем проверку, что weakSUT имеет значение nil
4️⃣ В методах с тестами инициализируем тестируемый объект с помощью метода из 2 шага
Если обнаруживается цикл сильных ссылок, то в методе tearDown будет ошибка

#testing #memory
👍5👎1
👎1
Storing Payment Data On iOS: My Take

Как хранить чувствительные данные на iOS:
👉 Не храните их без крайней необходимости 👩‍✈️
👉 Keychain - зашифрованный контейнер для хранения данных, таких как пароли и криптографические ключи. Это безопасно, но обычно используется только для небольших фрагментов данных
👉 Шифрование. Чтобы добавить дополнительный уровень безопасности, вы также можете зашифровать небольшие фрагменты данных перед их сохранением в Keychain. Можно использовать алгоритм симметричного шифрования, такой как AES, с уникальным ключом для каждого пользователя.
👉 Файлы. Вы можете использовать шифрование для файлов в secure enclave iOS, используя безопасные API данных

#memory #security
👍4👎1
Как мы приложение Додо Пиццы на арабский переводили

Некоторые выводы статьи:
👉 Если сразу правильно верстать, то всю остальную работу iOS сделает за вас
👉 Чем меньше кастомных элементов, тем лучше это выглядит в RTL
👉 На вёрстке и переводах дело не заканчивается, есть много культурных особенностей, про которые тоже важно не забыть
👉 Не все картинки можно отзеркалить автоматически
👉 Мы очень привыкли к LTR, поэтому готовое адаптированное приложение лучше показать кому-нибудь из носителей арабского языка, чтобы точно ничего не пропустить
👉 Снепшот-тесты ускоряют разработку и помогают понять, что вы ничего не сломали в процессе.
👉 Поддержка RTL — это не разовое мероприятие, а непрерывный процесс

#локализация
👍6👎1
How to Play Haptic Feedback or Vibrate using UIFeedbackGenerator

В нашем распоряжении есть три генератора haptic'ов:
👉 UIImpactFeedbackGenerator- основной генератор, позволяет создавать разные эффекты с разной интенсивностью (light, medium, heavy, soft, rigid)
👉 UISelectionFeedbackGenerator - испольуется для обозначения выбора. Например, в switch или picker
👉 UINotificationFeedbackGenerator - для обозначения успеха, ошибки и предупреждения

#ux
👍1👎1
Scaling a Mature iOS Codebase with Tuist

Tuist - утилита командой строки, которая автоматизирует создание Xcode проектов и workspace. Вот что заключили в Asana в результате переезда.

Плюсы:
Автодополнение работает лучше
Легче ревьювить конфигурации проектов и больше нет конфоиктов в project файлах
Создание нового модуля требует лишь одной команды
Правильное распределение файлов в таргеты
Более быстрая сборка проекта

Минусы:
Сложность. Далеко не всем разработчиком комфортно работать с  tuist edit, однако и не всем бывает нужно
git checkout занимает на 5-15 секунд больше, чем раньше
написание boilerplate кода для разделения интерфейсов и реализаций

#tools
🤩3👍1👎1
Apple готовит iMac на M3

Согласно отчету Марка Гурмана из Bloomberg, Apple готовит новый iMac, который может появиться уже во второй половине этого года. Хотя новый iMac, как сообщается, будет иметь тот же 24-дюймовый дисплей, что и предыдущая модель, ожидается, что он будет оснащен более мощным чипом M3, изготовленным по 3-нм техпроцессу.
Помимо нового iMac Apple также готовится выпустить новый 15-дюймовый MacBook Air, обновленный 13-дюймовый MacBook Air и Mac Pro, оснащенный чипом M2 Ultra. Ожидается, что компания продемонстрирует свой новый чип M3 в июне, а также долгожданную гарнитуру смешанной реальности

#apple
👍6👎1
Как мы разрешили использование Storyboard в iOS-разработке

Верстать в Xib и Storyboard для кого-то моветон, однако в статье с примерами рассказывают о преимуществах Storyboard:
👉 Меньше кода
👉 Меньше время компиляции (в эксперименте в 6.5 раз быстрее, чем при верстке кодом)
👉 Предварительный просмотр
👉 Предупреждения об ошибках

#ui
👍8🤔4
Fast and reliable iOS builds with Bazel at Mercari

Опыт команды Mercari по переезду на Bazel. Ускорили сборки и время запуска приложения. Описан опыт интеграции с Xcode, Dependency Management и прочие нюансы

#tools
👍1👎1
Checklist to become a senior iOS developer in 2023

Чтобы стать сеньором в 2023 году, нужно лишь:
👉 Продвинутое владение технологиями и фреймворками, такими как Swift и Xcode
👉 Идти в ногу с последними тенденциями и лучшими практиками в iOS-разработке
👉 Сильные лидерские и наставнические навыки
👉 Быть идейным лидером в отрасли
👉 Продолжайте свое образование и будьте в курсе новых технологий
А все 11 пунктов ищите в статье 😅

#развитие
😁163👍3👎1👏1