iOS Broadcast
3.38K subscribers
1.72K photos
85 videos
985 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Network Link Conditioner

Если вы тестируете свое приложение на девайсе или симмуляторе в условиях хорошей сети, вы точно пропускаете часть проблем, возникающих у пользователей. Сотовая сеть не везде хорошо ловит, а даже если ловит хорошо, может оказаться что вышка перегружена и LTE превращается в 3g. Для этого в iOS и MacOS существует отдельный инструмент "Network Link Conditioner". Вот как его включить:
🟢В macOS Sequoia он не входит в стандартный набор ОС, требуется установить Additional Tools for Xcode
🟢На устройстве Network Link Conditioner можно найти в разделе настроек разработчика, который появляется после активации

Главное-не забыть его выключить, ставьте 🎉 кто забывал. Я как-то неделю ходил с 3G
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉24👍4
📘 Создаем удобное взаимодействие с пользователем

Я убежден, что разработчик должен высказывать свое мнение про фичи, которые разрабатывает. А чтобы высказываться по делу, нужно самому понимать что считается стандартом индустрии. Данная статья как раз про это, при чем выходит за рамки Apple Human Interface Guidelines.
Первое впечатление можно произвести только один раз. А неконсистентный опыт внутри приложения перечеркивает весь позитив. Важно продумать не только успешные сценарии но и сценарии ошибок. Каждый переход формирует общее впечатление пользователя. При подключении пользователи ожидают увидеть экран приветствия и, возможно, краткое руководство. После многократного использования приложения просмотр одних и тех же советов точно надоест. Хорошо разработанное приложение учитывает потребности пользователей и адаптируется к ним во всех ситуациях, повышая общую эффективность приложения и вовлеченность пользователей.

Первое впечатление: Онбординг и начало работы
🟣Должно быть эффективным и ненавязчивым.
🟣Вспомогательные указания помогают пользователям ориентироваться.
🟣Вводное состояние важно для создания доверия.

Состояние: Успешный сценарий
🟢Частичная загрузка контента должна быть обработана.
🟢Пустой экран должен быть понятен пользователю.
🟢"Результаты не найдены" должны быть ненавязчивыми.
🟢Новые обновления должны быть краткими и не мешать работе.

Состояние: Загрузка
🟡Состояния загрузки должны быть незаметными.
🟡Экраны "Скелетоны" помогают управлять ожиданиями пользователей.

Состояние: Ошибка
🔴Ошибки должны быть четко и понятно сообщены.
🔴Информирование пользователей важно в критических ситуациях.

Состояние: Прощание
🔵Продуманный опыт разлогинивания или удаления акккаунта важен для положительного впечатления.
🔵Приложения должны укреплять доверие и стимулировать повторное участие.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131👌1
Что означает Swift Build для экосистемы Swift
А вот и первый обзор swift build от команды, занимающейся работой с Xcode. Tuist подтвердили важность выхода в опенсорс и раскрыли это со своей стороны:

Влияние на опыт разработчиков
🔵Более быстрое внедрение улучшений
🔵Повышенная надежность и детерминизм сборки
🔵Расширяемость и поддержка новых платформ
🔵Оптимизация времени сборки и новые возможности в программировании

Tuist и Swift Build
🔵Tuist стремится улучшить качество создания приложений
🔵Swift Build открывает новые возможности для Tuist
🔵Tuist создает серверную инфраструктуру и стандартизирует данные

Будущее Swift Build
🔵Возможно появление Swift Build DSL для объявления графиков
🔵Tuist заявляет о участии в развитии экосистемы и будет вносить свои идеи в swift build
Please open Telegram to view this post
VIEW IN TELEGRAM
🐥 Локализуем списки в Swift правильно

Swift предоставляет множество встроенных форматтеров, один из которых форматтер списков ListFormatter (iOS 13+). Он помогает объединять списки элементов в удобочитаемые предложения:
🟢Форматировщик списка учитывает языковой стандарт пользователя.
🟢Можно принудительно установить языковой стандарт, изменив свойство place.
🟢Форматировщик списка поддерживает массивы любого типа, но элементы должны быть представлены в виде строк.
🟢Можно использовать настраиваемые типы, соответствующие протоколу CustomizableStringConvertible.
#swift #list #formatter #listformatter
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9
🐥 [SE-0460] Явная специализация дженериков в Swift
Продолжаю разбирать пропоузалы Swift. В этом предложении вводится новый атрибут @specialized , который позволяет в дженерик функции генерировать предварительно специализированные версии этой функции для определенных типов. Эта специализация создает пользовательскую реализацию функции, где "дженерики" заменяются определенными типами. Это позволяет оптимизировать функции, под конкретные типы: когда неспециализированная версия функции вызывается с одним из этих типов, компилятор генерирует код, который будет повторно отправлен в эти предварительно специализированные версии, если таковые имеются. Врядли это пригодится где-то кроме Foundation и специализированных фреймворков, но идея интересная.
#swift #evolution
Please open Telegram to view this post
VIEW IN TELEGRAM
🔨 Отладка диплинков, пушей и быстрых действий
Отладка фич, таких как диплинки или быстрые действия с главного экрана, может быть сложной задачей. По умолчанию отладчик автоматически подключается при запуске приложения в Xcode. После завершения работы приложения отладчик отключается, что затрудняет тестирование. Но можно изменить поведение в Xcode - выбрать опцию "Wait for executable to be launched". Эта опция позволяет подключать отладчик к приложению даже при ручном запуске.

Шаги:
🟢Product > Scheme > Edit Scheme
🟢Включите опцию "Wait for executable to be launched" на вкладке "Info" секции "Launch"
🟢Запустите приложение в Xcode как обычно (приложение само не запустится)
🟢Вручную запустите приложение с симулятора или устройства следуя тестовому сценарию

Добавляйте в 🔖 чтобы не потерять
#xcode #deeplink #debugging #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
⚡️ Swift для Visual Studio Code 2.0

Вышла новая версия расширения Swift для Visual Studio Code. Расширение поддерживает разработку приложений Swift на всех платформах. Расширение упрощает разработку приложений Swift для серверных, облачных, встраиваемых и Linux/Windows приложений.
🟢Разработано членами рабочей группы Swift Server.
🟢Старая версия автоматически устанавливает новое расширение и отключает себя.
🟢Все языковые функции будут предоставляться новым расширением.

Работает так же через SourceKit-LSP. Посмотреть на реализацию и законтрибьютить можно сюда, если готовы писать на typescript.
К сожалению, это не делает расширение более подходящим для iOS разработки, но радует что поддержка не забросилась и вышел мажорный апдейт. Для меня поддержка VSCode - возможность работать с AI ассистентами, ассистент в Xcode не оправдал ожиданий, а все решения вокруг Xcode больше похожи на костыль
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5