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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
🐥 Изменения в интерполяции строк в 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
🈸 Подготовьте свои приложения к праздникам
Полезное напоминание от 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