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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🐥 Низкоуровневые атомарные операции в Swift

Вторая стадия ревью SE-0410: Atomics завершилась 2 января, и группа по развитию Swift приняла это предложение с изменениями в названиях протоколов. В чем суть предложения?
Пропоузал добавляет в стандартную библиотеку Swift ограниченный набор атомарных операций низкого уровня, включая собственные варианты написания для упорядочения памяти в стиле C++. Главная цель — дать возможность авторам и разработчикам библиотек, пишущим код системного уровня, начать создавать конструкции синхронизации непосредственно в Swift. Эта библиотека может быть полезна и в обычной разработке, но ей точно не стоит злоупотреблять. Несмотря на соблазнительность такого подхода, атомарные операции предназначены для низкоуровневого кода и в продуктовом коде сильно ухудшают читабельность
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Используем TipKit со SwiftUI (5 мин 🇺🇸)

Мы часто создаем функции в наших приложениях, которые, как мы уверены, понравятся людям, но предоставить пользователям возможность их обнаружить может быть непросто. TipKit, представленный на WWDC23, представляет собой платформу, предназначенную для отображения полезных советов в вашем приложении. Его цель — информировать пользователей о новых функциях, раскрывать скрытые функции или оптимизировать выполнение задач.
В этом туториале показывается на примере, как создавать и отображать подсказки в приложении, разработанном на SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🎵 Визуализация аудио с помощью CoreAudio, Combine и SwiftUI (3 мин 🇺🇸)

Отличный пример пет проекта. Автор разбирается с CoreAudio, рассказывая о своем опыте написания простого приложения для личных целей. В статье разбираются такие элементы как:
👉 AVFoundation
👉 AVAudioEngine
👉 AVAudioFile
В конце ссылка на github с исходниками. Отличный шанс за 3 минуты ознакомиться с базовыми элементами CoreAudio на примере
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Forwarded from Android Broadcast (Кирилл Розов)
Чтобы сделать ваше приложение доступным для всех людей важно знать про Accessibility
и как работать с ней при создании приложения. Читайте статью с подборкой материалов для Android и iOS

#accessibility
🔥2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔19👍14
🔨 Что нового в Xcode 15.2
Вчера вышла релизная версия Xcode 15.2, что нового?

🐛 Исправили копирование символов отладки из Apple Watch, работающих с Beta 2
🐛 16 Исправлений для разработки под visionOS
⚠️ Разработка для visionOS требует M серии чипов, Intel 🫡

В целом мигрировать билд инфраструктуру или срочно обновлять не обязательно. Основные изменения связаны с visionOS
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1
Forwarded from Android Broadcast (Кирилл Розов)
Сертификация от GitHub стала доступной всем. Хотите получить лычки и иметь преимущства перед работадателем и заказчиками - с вас 200$ за попытку прохождения. Направления 4:
👉 GitHub Foundations
👉 GitHub Actions
👉 GitHub Advanced Security
👉 GitHub Administration

#github
🤔8
🆓 Бекпорт @Observable
В Swift 5.9 появился Observation фреймворк, но, к сожалению, он работает только в iOS 17+. Большинство разработчиков не смогут использовать эти инструменты еще несколько лет. Point-Free реализовали свой бекпорт Observable для iOS 13+, Perception и выпустили его как библиотеку с MIT лиценцией
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📱 Составляем красивые экраны для Debug меню
У большинства приложений есть Debug меню, которые служат для целей тестирования. Но зачастую выглядят они значительно хуже чем само приложение. Данная библиотека предлагает простой способ исправить это, а за счет условий компиляции #if debug можно добиться исключения этой зависимости из релизной сборки.
Что предлагает нам эта библиотека:

👉 Поиск из коробки
👉 Простой, но мощный синтаксис (на базе Result builders)
👉 Создание вложенных страниц и групп
👉 Встроенная интеграция со SwiftUI и AppStorage
👉 Поставляется с готовыми компонентами: тумблер, кнопка, слайдер и т. д.
👉 Динамическое отображение и скрытие компонентов
👉 Поддержка на iOS и macOS
👉 MIT License
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👶 Советы по байндингам в SwiftUI

Простые, но понятные советы от Chris Eidhof. Удивляюсь его любви к bool (он является автором SE-0199, в результате которого появилась функция toggle). В статье он рассматривает как используя dynamic member lookup, упростить работу с булевыми байндингами, а так же приводит пример работы с Set. Приятный синтаксический сахар, который действительно может помочь в улучшении читаемости логики в слое View.

@State private var edges: Set<Edge> = [Edge.top, Edge.bottom]
$edges[contains: .top]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
📱 Девушка и её @ViewBuilder

Очень интересный способ повествования при помощи вымышленной истории. Вам точно понравится и плюсом хорошо поймете, как использовать @ViewBuilder в приложениях SwiftUI, на примерах. В статье разбираются:
👉 View Modifiers
👉 View Extensions
👉 View Builders
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
iOS Broadcast
🆓 Бекпорт @Observable В Swift 5.9 появился Observation фреймворк, но, к сожалению, он работает только в iOS 17+. Большинство разработчиков не смогут использовать эти инструменты еще несколько лет. Point-Free реализовали свой бекпорт Observable для iOS 13+…
Производительность макроса Observable в сравнении с ObservableObject
Вот почему Perception - бекпорт Observable на iOS 13+ это важно.
Макрос @Observable упрощает код на уровне реализации и повышает производительность SwiftUI View, предотвращая ненужную перерисовку. Можно начать мигрировать на Perception уже сейчас, а после сразу получить нативный Observable, при поднятии таргета. Вам больше не требуется использовать @ObservedObject, ObservableObject и @Published. Однако вам все равно придется использовать @State для создания единого источника данных для модели.
👍101
🕸Инспектируем трафик при помощи инструментов Xcode
Бутылочное горлышко загрузки большинства экранов-транспортный уровень. Но не всегда проблема кроется в пропускной способности сети. В Xcode есть инструмент Network, способный помочь с выявлением проблем. Он не так хорош как Charles или Proxyman, но предоставляет нативные средства для базовой идентификации проблемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐥 Потокобезопасные глобальные переменные (4 мин)
Для обеспечения будущей миграции на Swift 6 нужно включить настройку строгого параллелизма. При активации этой настройки вы скорее всего, столкнетесь с предупреждениями о доступе к общему изменяемому состоянию. В статье разбирается, что это означает и как можно устранить эти предупреждения.
👉 Что такое глобальные переменные
👉 Создание потокобезопасных глобальных переменных
👉 Создание не изолированных глобальных переменных
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Убираем фон с избражения со SwiftUI
Все любят котиков и AI. В статье разбирается как не только использовать эту фишку в iOS но и просто интегрировать это в ваши приложения.
Для этого понадобится API iOS 17, но эта та фича, которая может быть бонусом для обновившихся пользователей
Please open Telegram to view this post
VIEW IN TELEGRAM
13
⚡️ Доступ к NFC API на iPhone в Европе
Очень похоже, что лед тронулся🤞. Исторически, использование чипа Apple NFC в iPhone и Apple Watch для платежей было ограниченно ‌Apple Pay‌, что ограничивало способность банков предлагать свои собственные бесконтактные платежные решения на платформах Apple. В заявлении для Reuters Apple сказала:
Мы готовы предоставить сторонним разработчикам в ЕС опцию, которая позволит их пользователям осуществлять бесконтактные платежи NFC из своих приложений iOS

Эта уступка является частью усилий Apple по устранению антимонопольных обвинений ЕС, по ограничению доступа третьих лиц к возможностям NFC на устройствах iOS.
Ждете доступ к NFC API? 👍👎
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46🔥1
🍏Apple выплатила России штраф в $13,7 млн
Apple не совсем согласны с ФАС по поводу решения суда, но 19 января штраф заплатили. Более миллиарда рублей по антимонопольному делу за злоупотребление доминирующим положением на рынке inApp-платежей в России.
Что это значит для разработчиков?
1. Apple не планирует покидать рынок России
2. Apple будет продолжать принимать платежи доступными сейчас средствами
3. Есть надежда что Apple выполнит требование Минцифры по установке приложений из альтернативных сторов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🤔5👍2👏1
🐥 Регистронезависимое сравнение строк
Открытие дня - в Swift можно не писать .lowercased при сравнении строк без учета регистра, а использовать опции компарации или даже отдельную функцию. В статье разбирается различие этих способов на примерах. На самом деле, такой способ менее явный для бизнес логики, но более приемлемый для вывода пользователю. Главное, не забудьте оставить комментарий коллегам, если решите использовать один из этих методов 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👌3👍2
Жест встряхивания для отмены в SwiftUI приложении
Давеча (подходящее вступление для фичи времен iPhoneOS 3.0), столкнувшись очередной раз с всплывающим окном "Undo typing", я задумался:

1. Я ни разу не пользовался специально этим чтобы отменить действие
2. Я давно не пилил фичи под жест смахивания

Актуально ли это до сих пор или архаизм? Аналитики по использованию я не нашел, но нашел статью, которая рассказывает как реализовать это в SwiftUI... По всей видимости, Apple не планирует повышать адаптацию этой фичи, но и отказаться не может 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы пользуетесь Shake To Undo для отмены действия?
Anonymous Poll
24%
Да
76%
Нет
⚡️ Apple разрешила установку приложений не из App Store на iOS, но только для ЕС

👉 Приложения можно будет загружать из сторонних магазинов. Комиссии не будет, но будет сбор €0,5 за «технологию»
👉 За обработку платежей через App Store будет комиссия - 3%
👉 В iOS 17.4 можно будет выбирать браузер по умолчанию, выбрать его предложат при первом запуске Safari на iOS 17.4. Разработчики могут использовать движки, отличные от Safari
🔥17