Вторая стадия ревью SE-0410: Atomics завершилась 2 января, и группа по развитию Swift приняла это предложение с изменениями в названиях протоколов. В чем суть предложения?
Пропоузал добавляет в стандартную библиотеку Swift ограниченный набор атомарных операций низкого уровня, включая собственные варианты написания для упорядочения памяти в стиле C++. Главная цель — дать возможность авторам и разработчикам библиотек, пишущим код системного уровня, начать создавать конструкции синхронизации непосредственно в Swift. Эта библиотека может быть полезна и в обычной разработке, но ей точно не стоит злоупотреблять. Несмотря на соблазнительность такого подхода, атомарные операции предназначены для низкоуровневого кода и в продуктовом коде сильно ухудшают читабельность
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы часто создаем функции в наших приложениях, которые, как мы уверены, понравятся людям, но предоставить пользователям возможность их обнаружить может быть непросто. TipKit, представленный на WWDC23, представляет собой платформу, предназначенную для отображения полезных советов в вашем приложении. Его цель — информировать пользователей о новых функциях, раскрывать скрытые функции или оптимизировать выполнение задач.
В этом туториале показывается на примере, как создавать и отображать подсказки в приложении, разработанном на SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Отличный пример пет проекта. Автор разбирается с 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
и как работать с ней при создании приложения. Читайте статью с подборкой материалов для Android и iOS
#accessibility
🔥2👍1
🗓 Предзаказ 19 января
🗓 Старт продаж 2 февраля
🔗 Human Interface Guidelines для интерфейсов
🔗 Пошаговый план для разработчиков
🔗 Сессия WWDC23 про разработку интерфейсов для visionOS
💰 Цена от 3499$. Верите в успех Vision Pro? 👍/🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔19👍14
Вчера вышла релизная версия Xcode 15.2, что нового?
🐛 Исправили копирование символов отладки из Apple Watch, работающих с Beta 2
🐛 16 Исправлений для разработки под visionOS
⚠️ Разработка для visionOS требует M серии чипов, Intel 🫡
В целом мигрировать билд инфраструктуру или срочно обновлять не обязательно. Основные изменения связаны с visionOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer Documentation
Xcode 15.2 Release Notes | Apple Developer Documentation
Update your apps to use new features, and test your apps against API changes.
❤3👍1🔥1
Forwarded from Android Broadcast (Кирилл Розов)
Сертификация от GitHub стала доступной всем. Хотите получить лычки и иметь преимущства перед работадателем и заказчиками - с вас 200$ за попытку прохождения. Направления 4:
👉 GitHub Foundations
👉 GitHub Actions
👉 GitHub Advanced Security
👉 GitHub Administration
#github
👉 GitHub Foundations
👉 GitHub Actions
👉 GitHub Advanced Security
👉 GitHub Administration
#github
🤔8
В 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 меню, которые служат для целей тестирования. Но зачастую выглядят они значительно хуже чем само приложение. Данная библиотека предлагает простой способ исправить это, а за счет условий компиляции
#if debug
можно добиться исключения этой зависимости из релизной сборки. Что предлагает нам эта библиотека:
👉 Поиск из коробки
👉 Простой, но мощный синтаксис (на базе Result builders)
👉 Создание вложенных страниц и групп
👉 Встроенная интеграция со SwiftUI и AppStorage
👉 Поставляется с готовыми компонентами: тумблер, кнопка, слайдер и т. д.
👉 Динамическое отображение и скрытие компонентов
👉 Поддержка на iOS и macOS
👉 MIT License
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Простые, но понятные советы от 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
в приложениях SwiftUI, на примерах. В статье разбираются:👉 View Modifiers
👉 View Extensions
👉 View Builders
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
iOS Broadcast
Производительность макроса Observable в сравнении с ObservableObject
Вот почему Perception - бекпорт Observable на iOS 13+ это важно.
Макрос
Вот почему Perception - бекпорт Observable на iOS 13+ это важно.
Макрос
@Observable
упрощает код на уровне реализации и повышает производительность SwiftUI View, предотвращая ненужную перерисовку. Можно начать мигрировать на Perception уже сейчас, а после сразу получить нативный Observable, при поднятии таргета. Вам больше не требуется использовать @ObservedObject
, ObservableObject и @Published
. Однако вам все равно придется использовать @State
для создания единого источника данных для модели.SwiftLee
@Observable Macro performance increase over ObservableObject
The @Observable macro replaces ObservableObject, @ObservedObject, and @Published. Increase the performance of your SwiftUI views.
👍10❤1
Бутылочное горлышко загрузки большинства экранов-транспортный уровень. Но не всегда проблема кроется в пропускной способности сети. В Xcode есть инструмент Network, способный помочь с выявлением проблем. Он не так хорош как Charles или Proxyman, но предоставляет нативные средства для базовой идентификации проблемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Для обеспечения будущей миграции на Swift 6 нужно включить настройку строгого параллелизма. При активации этой настройки вы скорее всего, столкнетесь с предупреждениями о доступе к общему изменяемому состоянию. В статье разбирается, что это означает и как можно устранить эти предупреждения.
👉 Что такое глобальные переменные
👉 Создание потокобезопасных глобальных переменных
👉 Создание не изолированных глобальных переменных
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftLee
Concurrency-safe global variables to prevent data races
Concurrency-safe global variables prevent you from running into data races, especially when you've enabled strict concurrency checking.
This media is not supported in your browser
VIEW IN TELEGRAM
Все любят котиков и AI. В статье разбирается как не только использовать эту фишку в iOS но и просто интегрировать это в ваши приложения.
Для этого понадобится API iOS 17, но эта та фича, которая может быть бонусом для обновившихся пользователей
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13
Очень похоже, что лед тронулся🤞. Исторически, использование чипа 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
MacRumors
Apple Offers to Open NFC Payment Technology to Third-Party Developers in Europe
Apple has proposed opening its NFC payment technology to third-party developers in Europe, allowing direct rivals to Apple Pay to operate on the...
👍46🔥1
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 не планирует повышать адаптацию этой фичи, но и отказаться не может🤔
Давеча (подходящее вступление для фичи времен iPhoneOS 3.0), столкнувшись очередной раз с всплывающим окном "Undo typing", я задумался:
1. Я ни разу не пользовался специально этим чтобы отменить действие
2. Я давно не пилил фичи под жест смахивания
Актуально ли это до сих пор или архаизм? Аналитики по использованию я не нашел, но нашел статью, которая рассказывает как реализовать это в SwiftUI... По всей видимости, Apple не планирует повышать адаптацию этой фичи, но и отказаться не может
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Apple разрешила установку приложений не из App Store на iOS, но только для ЕС
👉 Приложения можно будет загружать из сторонних магазинов. Комиссии не будет, но будет сбор €0,5 за «технологию»
👉 За обработку платежей через App Store будет комиссия - 3%
👉 В iOS 17.4 можно будет выбирать браузер по умолчанию, выбрать его предложат при первом запуске Safari на iOS 17.4. Разработчики могут использовать движки, отличные от Safari
👉 Приложения можно будет загружать из сторонних магазинов. Комиссии не будет, но будет сбор €0,5 за «технологию»
👉 За обработку платежей через App Store будет комиссия - 3%
👉 В iOS 17.4 можно будет выбирать браузер по умолчанию, выбрать его предложат при первом запуске Safari на iOS 17.4. Разработчики могут использовать движки, отличные от Safari
Apple Newsroom
Apple announces changes to iOS, Safari, and the App Store in the European Union
Apple announced changes to iOS, Safari, and the App Store impacting developers’ apps in the EU to comply with the DMA.
🔥17