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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
Вышло ядро Linux 6.2 с поддержкой Apple M1

Благодаря добавлению поддержки чипов Apple M1 Pro, M1 Max и M1 Ultra, владельцы новых Mac могут рассчитывать на запуск Linux на своих машинах с процессором M1. Конечно, на данный момент все экспериментально, но это ненадолго.
Кроме поддержки M1, ядро Linux 6.2 включает множество функций, созданных такими компаниями, как Intel, AMD, Google и Red Hat

#os
4🤩4👍1👎1
XCode Tips: Collections of tips for Xcode

Подборка советов и лайфхаков для разработки

#лайфхаки
👍8👎1
72% всех iPhone работают на iOS 16

Если взять вообще все смартфоны Apple, то 72% всех iPhone работают под управлением iOS 16, а 20% — на iOS 15. Около 8% iPhone работают под управлением более ранних версий.
Принятие iOS 16 опережает iOS 15 на основе данных, опубликованных компанией в январе 2022 года. Тогда около 72% моделей iPhone, выпущенных за последние четыре года, работали под управлением iOS 15, и 63% вообще всех iPhone работали на пятнадцатой версии.

#ios
👍8👎1
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