Проблемы Tab Bar в iOS 26
В iOS 26 в таббаре появился новый специальный вид таба – поиск, который визуально отделен от остальной панели и в целом похож на кнопку. В том и кроется проблема – из-за этой похожести в кастомных реализациях таббара туда начинают добавлять другие действия – например, создание нового элемента, что будет путать пользователей еще сильнее.
В iOS 26 в таббаре появился новый специальный вид таба – поиск, который визуально отделен от остальной панели и в целом похож на кнопку. В том и кроется проблема – из-за этой похожести в кастомных реализациях таббара туда начинают добавлять другие действия – например, создание нового элемента, что будет путать пользователей еще сильнее.
👍12💅4👎2
Skip теперь бесплатный
Про Skip, набор инструментов для транспилирования Swift в Kotlin, мы на канале говорили довольно часто. Большого адопшна у ребят так и не случилось, но главное, чего они добились – добавили Android в список официальных таргетов Swift и запустили полноценную рабочую группу вокруг проекта.
Так вот, раньше большая часть Skip была закрытой и платной, а с этой недели бизнес-модель меняется, и все выкладывается в опенсорс. Основная причина – никто не хочет платить за инструменты для разработки. Выживет ли проект дальше, пока не очень понятно, будем следить.
Про Skip, набор инструментов для транспилирования Swift в Kotlin, мы на канале говорили довольно часто. Большого адопшна у ребят так и не случилось, но главное, чего они добились – добавили Android в список официальных таргетов Swift и запустили полноценную рабочую группу вокруг проекта.
Так вот, раньше большая часть Skip была закрытой и платной, а с этой недели бизнес-модель меняется, и все выкладывается в опенсорс. Основная причина – никто не хочет платить за инструменты для разработки. Выживет ли проект дальше, пока не очень понятно, будем следить.
❤17💅4
Кастомное поведение строковой интерполяции
Помимо простой подстановки значения, со строковой интерполяцией можно делать и более интересные вещи – например, прямо на ходу исполнять какую-то логику – форматировать значение правильным образом в зависимости от его типа, валидировать его, или применять условную логику.
Помимо простой подстановки значения, со строковой интерполяцией можно делать и более интересные вещи – например, прямо на ходу исполнять какую-то логику – форматировать значение правильным образом в зависимости от его типа, валидировать его, или применять условную логику.
Nil Coalescing
Defining custom string interpolation behavior in Swift
Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals.
👍6❤3
Советы про Universal Links
👉Обязательно валидируйте ваш AASA файл против JSON схемы на CI
👉Apple легко может закешировать некорректную версию файла на своих CDN, перепроверяйте
👉Существующие тулы плохо справляются с парсингом wildcard синтаксиса Apple, так что придется писать свой парсер
👉Тестируйте на реальном staging домене с https
👉Следите за кодировкой и не используйте percent encoding
👉Обязательно валидируйте ваш AASA файл против JSON схемы на CI
👉Apple легко может закешировать некорректную версию файла на своих CDN, перепроверяйте
👉Существующие тулы плохо справляются с парсингом wildcard синтаксиса Apple, так что придется писать свой парсер
👉Тестируйте на реальном staging домене с https
👉Следите за кодировкой и не используйте percent encoding
Alberto De Bortoli
Universal Links At Scale: The Challenges Nobody Talks About
A deep dive into the practical challenges of implementing, testing, and maintaining Universal Links at scale
❤16
Держите идею по борьбе с мошенниками для банковских приложений! Когда во время звонка кому-то вы открываете Revolut, то сверху появляется небольшой красный баннер, предупреждающий, что на звонке не техническая поддержка.
🔥78👍9❤2💅1
Как исправить баг в компиляторе Swift
Небольшая история про то, как даже тривиальный source-compatible багфикс в компилятор требует многих дней обсуждений и длинных циклов проверки на CI. Если где-то на дне вашего бэклога лежит план законтрибьютить в любимый язык – обязательно почитайте.
Небольшая история про то, как даже тривиальный source-compatible багфикс в компилятор требует многих дней обсуждений и длинных циклов проверки на CI. Если где-то на дне вашего бэклога лежит план законтрибьютить в любимый язык – обязательно почитайте.
massicotte.org
Swift Compiler Changes the Easy Way
The secret is to do as little of work yourself as possible.
🔥8❤3
Улучшаем интероп с С
Если вы пробовали работать с С библиотеками напрямую из Swift кода, то результат вам скорее всего не очень нравился. В посте разбирают, как различные Swift фичи помогают обернуть библиотеку на чистом С во вполне идиоматичный Swift API.
Если вы пробовали работать с С библиотеками напрямую из Swift кода, то результат вам скорее всего не очень нравился. В посте разбирают, как различные Swift фичи помогают обернуть библиотеку на чистом С во вполне идиоматичный Swift API.
Swift.org
Improving the usability of C libraries in Swift
There are many interesting, useful, and fun C libraries in the software ecosystem. While one could go and rewrite these libraries in Swift, usually there is no need, because Swift provides direct interoperability with C. With a little setup, you can directly…
👍7
Новых приложений в App Store стало намного больше
Впервые за много лет количество новых приложений, появившихся за месяц в App Store, существенно выросло. Все связывают это с тем, что с помощью агентов делать приложения стало намного проще.
Впервые за много лет количество новых приложений, появившихся за месяц в App Store, существенно выросло. Все связывают это с тем, что с помощью агентов делать приложения стало намного проще.
2💅16❤2👎2
Как работает генерация UUID в Swift
Разбираемся с тремя подходами к генерации UUID – на основе таймстемпа, рандомизации, и смеси этих подходов.
Разбираемся с тремя подходами к генерации UUID – на основе таймстемпа, рандомизации, и смеси этих подходов.
👍15