This media is not supported in your browser
VIEW IN TELEGRAM
Примеры Dynamic Island от Apple
Дизайнер Apple поделился подборкой анимаций в Dynamic Island, появившихся в iOS в последних релизах.
Дизайнер Apple поделился подборкой анимаций в Dynamic Island, появившихся в iOS в последних релизах.
Typestate – новый паттерн в Swift 5.9
С появлением Noncopyable типов в Swift 5.9 стало возможным реализовать паттерн Typestate. По сути, это стейт-машина на типах, с помощью которой проверку корректности бизнес-логики можно переложить на компилятор. В статье на простом примере показывают, как этот паттерн реализовать.
С появлением Noncopyable типов в Swift 5.9 стало возможным реализовать паттерн Typestate. По сути, это стейт-машина на типах, с помощью которой проверку корректности бизнес-логики можно переложить на компилятор. В статье на простом примере показывают, как этот паттерн реализовать.
Тестирование миграций в SwiftData
На примере семпла SwiftDataAnimals разбирается, как написать миграцию с одной версии схемы на другую и правил но ее протестировать. Результат можно посмотреть на GitHub.
На примере семпла SwiftDataAnimals разбирается, как написать миграцию с одной версии схемы на другую и правил но ее протестировать. Результат можно посмотреть на GitHub.
Medium
Testing SwiftData Migrations
XCTesting SwiftData VersionedSchema Migrations: an example based on Apple’s SwiftDataAnimals sample project.
Выпуски Подлодки для айосеров
Подлодка семь лет назад начиналась как подкаст про iOS разработку. Спустя год от этой концепции мы отошли и начали охватывать более широкий круг тем. Но все равно, айосников среди наших слушателей по прежнему очень много. Держите подборку выпусков за 2023 год, которые могут вам зайти:
👉Цвета и цветовые пространства с Андреем Ситником про то, чем отличаются друг от друга CMYK, RGB, OKLCH и другие способы представления цветов на экранах.
👉Ruby c Дмитрием Цепелевым про язык, с которым вы периодически сталкиваетесь, работая с CocoaPods и Fastlane.
👉Мобильные фермы с Антоном Малинским про то, как управлять сотнями девайсов на уровне софта и железа.
👉Backend driven UI с Александром Казарцевым с полным обзором плюсов, минусов и сложностей перехода к нему.
👉Теория сложности с Александром Куликовым с разбором вообще всех стыдных вопросов про алгоритмы.
👉Сыр с Александром Крупецковым, потому что плох тот айосник, который не любит сыр.
👉Рендеринг текста с Никитой Прокоповым про путь, который проходит строчка от хранения в переменной до отображения на экране.
Если вам понравились эти или другие выпуски – напишите нам что-то хорошее в отзывах в Apple Podcasts, или прямо в чатике подкаста!
Подлодка семь лет назад начиналась как подкаст про iOS разработку. Спустя год от этой концепции мы отошли и начали охватывать более широкий круг тем. Но все равно, айосников среди наших слушателей по прежнему очень много. Держите подборку выпусков за 2023 год, которые могут вам зайти:
👉Цвета и цветовые пространства с Андреем Ситником про то, чем отличаются друг от друга CMYK, RGB, OKLCH и другие способы представления цветов на экранах.
👉Ruby c Дмитрием Цепелевым про язык, с которым вы периодически сталкиваетесь, работая с CocoaPods и Fastlane.
👉Мобильные фермы с Антоном Малинским про то, как управлять сотнями девайсов на уровне софта и железа.
👉Backend driven UI с Александром Казарцевым с полным обзором плюсов, минусов и сложностей перехода к нему.
👉Теория сложности с Александром Куликовым с разбором вообще всех стыдных вопросов про алгоритмы.
👉Сыр с Александром Крупецковым, потому что плох тот айосник, который не любит сыр.
👉Рендеринг текста с Никитой Прокоповым про путь, который проходит строчка от хранения в переменной до отображения на экране.
Если вам понравились эти или другие выпуски – напишите нам что-то хорошее в отзывах в Apple Podcasts, или прямо в чатике подкаста!
podlodka.io
Podcast Records
Слушайте бесплатно все выпуски подкаста Podlodka.
Видеокурс по SwiftData
Бесплатный цикл роликов на YouTube с разбором всех особенностей работы со SwiftData:
👉CRUD операции
👉Динамические сортировки и фильтры
👉Легковесные миграции
👉Связи один ко многим и много ко многим
👉Работа с CloudKit
Бесплатный цикл роликов на YouTube с разбором всех особенностей работы со SwiftData:
👉CRUD операции
👉Динамические сортировки и фильтры
👉Легковесные миграции
👉Связи один ко многим и много ко многим
👉Работа с CloudKit
Self-hosted CI в Додо
Ребята из Додо рассказывают, как эволюционировал CI в их команде.
👉Тимсити с единственным раннером на старом Mac Mini
👉Облачные раннеры в Bitrise
👉Self-hosted GitHub раннеры на М1
👉Виртуализация с помощью Cilicon
Ребята из Додо рассказывают, как эволюционировал CI в их команде.
👉Тимсити с единственным раннером на старом Mac Mini
👉Облачные раннеры в Bitrise
👉Self-hosted GitHub раннеры на М1
👉Виртуализация с помощью Cilicon
Хабр
Как Додо Пицца доставляет свежий код: история мобильного CI для iOS
Мобильная разработка под iOS особенная: собрать приложение можно только на macOS, среда разработки по сути только одна, большая часть принятого в сообществе тулинга написана на Ruby, свой пакетный...
Godot для iPad
Miguel de Icaza, известный в том числе тем, что разработал Xamarin, начал в качестве хобби проекта портировать редактор игрового движка Godot для разработки под iPad. Ну как портировать – скомпилировать его уже и сейчас можно, но он заточен под работу с мышью. План – перевести необходимую часть интерфейса на компоненты SwiftUI. Короче говоря, интересный проект, за которым точно стоит наблюдать!
Miguel de Icaza, известный в том числе тем, что разработал Xamarin, начал в качестве хобби проекта портировать редактор игрового движка Godot для разработки под iPad. Ну как портировать – скомпилировать его уже и сейчас можно, но он заточен под работу с мышью. План – перевести необходимую часть интерфейса на компоненты SwiftUI. Короче говоря, интересный проект, за которым точно стоит наблюдать!
Кастомизация Strings Catalog в зависимости от типа девайса
Оказывается, с помощью Strings Catalog можно настраивать разный перевод строки в зависимости от типа девайса, на котором будет запущен проект. Идеально для кроссплатформенных проектов для iOS и macOS.
Оказывается, с помощью Strings Catalog можно настраивать разный перевод строки в зависимости от типа девайса, на котором будет запущен проект. Идеально для кроссплатформенных проектов для iOS и macOS.
Как AnyView влияет на перфоманс
Автор статьи проводит несколько замеров того, как использование AnyView вместо конкретных типов ухудшает производительность в SwiftUI.
Автор статьи проводит несколько замеров того, как использование AnyView вместо конкретных типов ухудшает производительность в SwiftUI.
Новый выпуск рассылки Hello Developer от Apple
В этот раз основная тема рассылки – разработка под Vision Pro.
👉Открыта возможность отправлять на ревью свои приложения для Vision App Store
👉Кейс-стади от компании, которая делает приложение с виртуальным диджейским пультом
👉Статья с Q&A про разработку под очки
👉Открыта запись на Developer Labs про Vision Pro
В этот раз основная тема рассылки – разработка под Vision Pro.
👉Открыта возможность отправлять на ревью свои приложения для Vision App Store
👉Кейс-стади от компании, которая делает приложение с виртуальным диджейским пультом
👉Статья с Q&A про разработку под очки
👉Открыта запись на Developer Labs про Vision Pro
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать иконку для Vision Pro
Раз кто-то из вас уже начинает готовить свои приложения для очков для сабмита в App Store, держите гайд про то, как адаптировать существующую иконку под стандарты новой операционной системы.
Раз кто-то из вас уже начинает готовить свои приложения для очков для сабмита в App Store, держите гайд про то, как адаптировать существующую иконку под стандарты новой операционной системы.
Swift биндинги для WinRT
Если вы пропустили, то в октябре ребята из Browser Company, которые делают Arc на чистом Swift, и портируют его на Windows, заопенсорсили биндинги к WinRT. Теперь, если вы хотите написать нативное приложение для Windows, можете и сами делать это на Swift.
Если вы пропустили, то в октябре ребята из Browser Company, которые делают Arc на чистом Swift, и портируют его на Windows, заопенсорсили биндинги к WinRT. Теперь, если вы хотите написать нативное приложение для Windows, можете и сами делать это на Swift.
Вызов Swift из C++ кода
В последний Xcode завезли поддержку C++ -> Swift интеропа. По ссылке – инструкция, как его потестить.
В последний Xcode завезли поддержку C++ -> Swift интеропа. По ссылке – инструкция, как его потестить.
chaos.social
Uli Kusterer (@[email protected])
Wow! I hadn't realized calling Swift from C++ had landed in mainline Xcode already! And it's really easy to use:
1. In Xcode, set ‘SWIFT_OBJC_INTEROP_MODE = objcxx’
2. Make sure all Swift you want to call is public
3. Include the "MYSWIFTMODULENAME-Swift.h"…
1. In Xcode, set ‘SWIFT_OBJC_INTEROP_MODE = objcxx’
2. Make sure all Swift you want to call is public
3. Include the "MYSWIFTMODULENAME-Swift.h"…
Perception – бэкпорт Observability
Pointfree выпустили библиотеку Perception, которая бэкпортит Observability framework на все версии iOS, начиная с 13. API аналогичен, но сами макросы и функции называются немного по-другому. Миграция в будущем, кажется, будет несложной.
Pointfree выпустили библиотеку Perception, которая бэкпортит Observability framework на все версии iOS, начиная с 13. API аналогичен, но сами макросы и функции называются немного по-другому. Миграция в будущем, кажется, будет несложной.
Xcodegen для сложных проектных сетапов
Инструкция по настройке Xcodegen для генерации проектов с поддержкой различных окружений (dev/staging), в каждом из которых свои настройки и сертификаты.
Инструкция по настройке Xcodegen для генерации проектов с поддержкой различных окружений (dev/staging), в каждом из которых свои настройки и сертификаты.
Medium
Xcodegen — Getting Deeper
In our first article about xcodegen (that you could read here) we covered:
Как реализована приватность в протоколе AirDrop
Классный обзор устройства протокола, поверх которого работает AirDrop, обеспечения его приватности, и причин появления уязвимости, которую сейчас активно эксплуатирует китайское правительство.
Классный обзор устройства протокола, поверх которого работает AirDrop, обеспечения его приватности, и причин появления уязвимости, которую сейчас активно эксплуатирует китайское правительство.
Разбор StoreKitTest
Разбор того, как новый системный фреймворк StoreKitTest помогает тестировать внутренние покупки, их восстановление и рефанд.
Разбор того, как новый системный фреймворк StoreKitTest помогает тестировать внутренние покупки, их восстановление и рефанд.
Swift with Majid
StoreKit testing in Swift
The second iteration of the StoreKit framework was the most significant change in my apps during the last few years. The recent version of the StoreKit framework has fully adopted Swift language features like async and await. This week, we will talk about…
Spatial video и AVFoundation
Небольшой гайд по тому, как добавить в ваше visionOS приложение поддержку чтения и записи видео.
Небольшой гайд по тому, как добавить в ваше visionOS приложение поддержку чтения и записи видео.
Finnvoorhees
Reading and Writing Spatial Video with AVFoundation
Новые правила покупок в обход App Store
Apple недавно была вынуждена разрешить приложениям из US App Store отправлять пользователя на совершение покупки через браузер. Но получился типичный Apple.
Apple недавно была вынуждена разрешить приложениям из US App Store отправлять пользователя на совершение покупки через браузер. Но получился типичный Apple.
Как написать свой iOS симулятор
Самая интересная статья прошлой недели – с чем пришлрсь столкнуться разработчику, который решил написать свой собственный симулятор.
Самая интересная статья прошлой недели – с чем пришлрсь столкнуться разработчику, который решил написать свой собственный симулятор.