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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🍎 Проектирование динамичных Live Activities

Очень полезная сессия, которую точно стоит посмотреть! Live Activities появились начиная с версии IOS 16.1 на всех моделях iPhone, но популярность начинают обретать только сейчас. На сессии рассматривается на примерах, как лучше всего создавать Live Activities, которые отображаются:
👉 На экране блокировки
👉 В режиме ожидания (StandBy)
👉 На динамическом острове (Dynamic Island)

Особенно это полезно для разработчиков которые ходят, как я, не с iPhone Pro серии и не имеют реального опыта взаимодействия с Dynamic Island и StandBy режимом
#wwdc23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎1
Какой у вас iPhone? Нужен ли разработчику актуальный или самый популярный iPhone?
Anonymous Poll
63%
iPhone 11-15 Pro
28%
iPhone X-15
6%
iPhone 6s-SE 2
3%
iPhone 5-SE
👍1
Swift Power Assert
Находка выходных - Swift Power Assert. Макрос для повышения читабельности тестов swift. Позволяет получить в репорте описание для теста, как показано на скриншоте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18👎1
🐥 Изменения в интерполяции строк в Swift

Экранировать кавычки и спец символы в Swift теперь не обязательно, не забывайте про это 😉
"Привет, \"iOS Broadcast\""
#"Привет, "iOS Broadcast"#
#"""
Многострочная строка
три двойных кавычки: """
"""#


#swiftTip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎2
🔨 Важные изменения в работе EventKit и EventKitUI

Работа календаря в iOS 17 изменилась: вызов методов requestAccess(to: .event) или requestAccess(to:completion:) не запрашивает у пользователя разрешение, а сразу возвращает ошибку. Начиная с iOS 17, приложение должно запрашивать только определенный уровень доступа, необходимый ему для выполнения задач с данными календаря. Хорошие новости тут в том, что теперь можно создавать записи в календаре пользователя, используя нативный интерфейс календаря не запрашивая разрешений. Компонент EventKitUI запускается в отдельном процессе на уровне системы, что позволит дать пользователям более удобный интерфейс

🔨 Сессия WWDC23 "Discover Calendar and EventKit"
🔨 Техническая инструкция для миграции
🔨 Образец проект с примером использования

#wwdc23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🐥 Swift Evolution: учимся читать предложения (Proposals)

Я периодически рассказываю что-то из Swift Evolution или ссылаюсь на предложения, которые уже приняты. Swift активно развивается, и большинство его изменений являются результатом публичных обсуждений внутри репозитория Swift Evolution. Отсюда можно узнать, какие изменения произойдут дальше и даже поучаствовать в обсуждении. Каждое предложение содержит несколько разделов, таких как мотивация, предлагаемое решение и рассматриваемые альтернативы. Я не с первого раза смог пройти барьер и разобраться куда вообще смотреть. В статье рассматривается:
👉 Из чего состоит репозиторий
👉 Кто может создавать или обсуждать предложения
👉 Путь от создания предложения до релиза в качестве части языка
👉 Отличие предложения (Proposal) от дорожной карты (Roadmap) и видения (Vision)

Особенно это актуально в предверии выхода 🐥 Swift 6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🎄 Адвент календарь для программистов

Хочу поделиться с вами своей маленькой предновогодней тредицией - Advent of Code.
Это адвент-календарь небольших головоломок по программированию объединенных общей историей. Я создал приватную таблицу лидеров 1538681-86ca5f21, если вы тоже не хотите соревноваться со всем миром - присоединяйтесь.
Первая задача появилась только что!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14👎2
Чего ждать от Swift 6
Для тех кто так и не решился разобраться в Swift Evolution, нашел отличную выжимку из нововведений.
Если главной особенностью Swift 5 была ABI stabiity, то в Swift 6 нас ждет сразу несколько революций:
👉 Новая модель многопоточности
👉 Полноценные дженерики
👉 Владение памятью (продолжение развития ARC)
👉 Переосмысление обработки ошибок
👉 Переработка управлением зависимостями в SPM
👉 Оптимизация памяти и производительности

#swift6
👍12👎3
🍎 Как появились веб-пуши Apple в Тинькофф (🇷🇺6 мин)

Казалось бы, как связана iOS разработка с веб-пушами? Это одна из фичей которой я занимался в этом году и могу этим поделиться. Понимание работы нативных Apple пушей помогло мне на коленке собрать MVP пример веб пушей на первой бете iOS 16.4. В отличии от нативных пушей, аккаунт разработчика или сертификат не требуется, все реализовано по веб стандартам Notifications, Permissions и Push API. В статье же мы делимся с сообществом всеми неочевидными проблемами, с которыми столкнулись:
👉 Нюансы процесса доставки транзакционных пушей
👉 Невозможность переподписки
👉 Не имплементирована отписка
👉 Когда iOS устройство перестает принимать пуши

*upd: в последней бете появились звуки у веб пушей
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎5
🆓 Observable Architecture Beta!

Pointfee, авторы известной архитектуры TCA, анонсировали интеграцию Observation фреймворка. Детали реализации и обсуждение на 😺️github.
Самое интересное тут то, что они реализовали бекпорт Observation на iOS 13 🥳

👉 Если вы используете TCA, самое время попробовать мигрировать, проверить компиляцию и тесты
👉 Если не используете, можно посмотреть реализацию бекпорта Observation фреймворка и конкретно на структуру WithPerceptionTracking
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🐥 Бандлы и таргеты в Swift (13 мин 🇺🇸)

Apple, в своей манере, оттходит от стандартов индустрии и вводит свои понятия, такие как таргет и бандл. Если вам нужно объяснить коллегам про что вы говорите или вы сами не понимаете чем таргет отличается от модуля и в каком случае нужно выделять отдельный бандл для ресурсов, этот лонгрид для вас!
👉 Введение в таргеты и бандлы
👉 Рассмотрение концепции бандлов
👉 Изучение внутренностей таргетов
👉 Лучшие практики с примерами использования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10