Экранировать кавычки и спец символы в Swift теперь не обязательно, не забывайте про это 😉
"Привет, \"iOS Broadcast\""
#"Привет, "iOS Broadcast"#
#"""
Многострочная строка
три двойных кавычки: """
"""#
#swiftTip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎2
Работа календаря в iOS 17 изменилась: вызов методов
requestAccess(to: .event)
или requestAccess(to:completion:)
не запрашивает у пользователя разрешение, а сразу возвращает ошибку. Начиная с iOS 17, приложение должно запрашивать только определенный уровень доступа, необходимый ему для выполнения задач с данными календаря. Хорошие новости тут в том, что теперь можно создавать записи в календаре пользователя, используя нативный интерфейс календаря не запрашивая разрешений. Компонент EventKitUI
запускается в отдельном процессе на уровне системы, что позволит дать пользователям более удобный интерфейс#wwdc23
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Я периодически рассказываю что-то из Swift Evolution или ссылаюсь на предложения, которые уже приняты. Swift активно развивается, и большинство его изменений являются результатом публичных обсуждений внутри репозитория Swift Evolution. Отсюда можно узнать, какие изменения произойдут дальше и даже поучаствовать в обсуждении. Каждое предложение содержит несколько разделов, таких как мотивация, предлагаемое решение и рассматриваемые альтернативы. Я не с первого раза смог пройти барьер и разобраться куда вообще смотреть. В статье рассматривается:
👉 Из чего состоит репозиторий
👉 Кто может создавать или обсуждать предложения
👉 Путь от создания предложения до релиза в качестве части языка
👉 Отличие предложения (Proposal) от дорожной карты (Roadmap) и видения (Vision)
Особенно это актуально в предверии выхода
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
Для тех кто так и не решился разобраться в Swift Evolution, нашел отличную выжимку из нововведений.
Если главной особенностью Swift 5 была ABI stabiity, то в Swift 6 нас ждет сразу несколько революций:
👉 Новая модель многопоточности
👉 Полноценные дженерики
👉 Владение памятью (продолжение развития ARC)
👉 Переосмысление обработки ошибок
👉 Переработка управлением зависимостями в SPM
👉 Оптимизация памяти и производительности
#swift6
👍12👎3
Казалось бы, как связана iOS разработка с веб-пушами? Это одна из фичей которой я занимался в этом году и могу этим поделиться. Понимание работы нативных Apple пушей помогло мне на коленке собрать MVP пример веб пушей на первой бете iOS 16.4. В отличии от нативных пушей, аккаунт разработчика или сертификат не требуется, все реализовано по веб стандартам Notifications, Permissions и Push API. В статье же мы делимся с сообществом всеми неочевидными проблемами, с которыми столкнулись:
👉 Нюансы процесса доставки транзакционных пушей
👉 Невозможность переподписки
👉 Не имплементирована отписка
👉 Когда iOS устройство перестает принимать пуши
*upd: в последней бете появились звуки у веб пушей
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎5
Pointfee, авторы известной архитектуры TCA, анонсировали интеграцию Observation фреймворка. Детали реализации и обсуждение на
Самое интересное тут то, что они реализовали бекпорт Observation на iOS 13
👉 Если вы используете TCA, самое время попробовать мигрировать, проверить компиляцию и тесты
👉 Если не используете, можно посмотреть реализацию бекпорта Observation фреймворка и конкретно на структуру WithPerceptionTracking
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
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
Apple
Get your apps ready for the holidays - Latest News - Apple Developer
The busiest season on the App Store is almost here! Make sure your apps and games are up to date and ready in advance of the upcoming holidays. We’ll remain open throughout the season and look forward to accepting your submissions. On average, 90% of submissions…
👍4
Периодически пытаясь интегрировать в свою рутину 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
👍7❤1
Если вы тоже пытаетесь интегрировать макросы в свой проект, возможно, вы уже столкнулись со сложностями интеграции их в Cocoapods. В данной статье рассматривается на примере как нужно сконфигурировать .podspec файл и подключить к проекту для разработки и тестирования, все достаточно просто. А если вы хотите использовать уже доступный макрос, который не поддерживает Cocoapods, вот статья рассматривающая решения этого кейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
Регулярный разбор обновлений, в преддверии релиза Xcode 15.1:
🐛 Исправили краш в рантайме на iOS 14, в кейсе слабого определения символов
🐛 Исправили провисание при первом выполнении Unit/UI тестов
🐛 Исправили возможность использования макросов в Playground
🐛 Исправили скачивание последней версии iOS симмулятора, при наличии более старой
⚠️ @IBDesignable задепрекейтили, 🫡
🎁 Xcode Cloud получил бесплатный тариф, 25 часов в месяц
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7