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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🔨 Важные изменения в работе 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
🈸 Подготовьте свои приложения к праздникам
Полезное напоминание от Apple: впереди самый загруженный сезон ревью App Store. Убедитесь, что ваши приложения обновлены и готовы к предстоящим праздникам. В этом году команда ревьюверов будет работать на праздниках. В среднем 90% заявок рассматриваются менее чем за 24 часа. Однако проверка может занять немного больше времени (с 22 по 27 декабря).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💻+🐥 Используем VSCode со Swift
Периодически пытаясь интегрировать в свою рутину AI, пробую разные инструменты. Все что было доступно для Xcode работает откровенно плохо, так что решил зайти с другой стороны. Инструмент который отлично работает с AI помощником Github copilot - VSCode и прикрутить к нему поддержку Swift. Обсуждая свой опыт с коллегами, обнаружил, что не все знают о существовании официальной реализации LSP (Language Server Protocol) для Swift. Если вы тоже не знаете что можно добавить поддержку Swift в VSCode, нашел для вас простую и ламповую статью на NSHipster
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🐥 Дистрибуция макросов Swift через Cocoapods
Если вы тоже пытаетесь интегрировать макросы в свой проект, возможно, вы уже столкнулись со сложностями интеграции их в Cocoapods. В данной статье рассматривается на примере как нужно сконфигурировать .podspec файл и подключить к проекту для разработки и тестирования, все достаточно просто. А если вы хотите использовать уже доступный макрос, который не поддерживает Cocoapods, вот статья рассматривающая решения этого кейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔨 Что нового в Xcode 15.1 RC
Регулярный разбор обновлений, в преддверии релиза Xcode 15.1:
🐛 Исправили краш в рантайме на iOS 14, в кейсе слабого определения символов
🐛 Исправили провисание при первом выполнении Unit/UI тестов
🐛 Исправили возможность использования макросов в Playground
🐛 Исправили скачивание последней версии iOS симмулятора, при наличии более старой
⚠️ @IBDesignable задепрекейтили, 🫡
🎁 Xcode Cloud получил бесплатный тариф, 25 часов в месяц
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🈸 Новые требования к сторонним зависимостям
Apple, наконец, дала пояснения по манифесту для сторонних либ, давайте разбираться!

🗓5 июня в рамках WWDC23 Apple анонсировала новый манифест приватности для сторонних SDK, новость, видео с WWDC
🗓8 июня появилась документация по заполнению данного манифест-файла
🗓7 декабря появились новые данные, что начиная с "весны 2024" загруженные ipa должны содержать манифест фалы для сторонних зависимостей
🗓7 декабря Apple опубликовала список сторонних зависимостей, которые обязательно должны будут содержать манифест файлы, в списке перечислены такие как:

📦Alamofire
📦Charts
📦Kingfisher
📦Lottie
📦RealmSwift
📦RxSwift
📦SwiftyJSON

Что делать с этой информацией:
1️⃣ Сматчить ваш список зависимостей со списком Apple
2️⃣ Завести задачку с датой выполнения 1 марта 2024 (первый день весны)
3️⃣ Проверить все ли версии в проекте содержат Manifest (например, Issue в Alamofire)
4️⃣ Следить за обновлениями Apple с точными датами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112🔥2
📘Разбираемся с новым API для саджестов дневнику
Вышла iOS 17.2, главным нововведением которой стало приложение Дневник (Journal).
Давайте рассмотрим это приложение как разработчики. На WWDC23, Apple представила новый API для предоставления саджестов дневнику. Нам предлагается обширный API, приправленый повсеместной приватностью
1️⃣ Поддерживается несколько типов ассетов:
🤸Активность
🎧 Медиа
👫Контакты
📷Фото
📍Локация
2️⃣ Новый пикер для интеграции поверх ваших приложений с простой интеграцией
3️⃣ Ограничения в приватности, пользователь может выбрать что готов предоставить

#wwdc23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82