Dependency mirroring со SwiftPM
Swift Package Manager дает возможность подменять удаленные зависимости их локальными копиями прямо через CLI с помощью команды
👉Все делается через терминал, не нужно открывать Xcode и вручную перетаскивать папки
👉Не трогаем Package.swift, так как конфигурация зеркал хранится отдельно
👉Настройка зеркал работает сразу для всех проектов с этими зависимостями
Swift Package Manager дает возможность подменять удаленные зависимости их локальными копиями прямо через CLI с помощью команды
swift package config set-mirror. В чем плюсы:👉Все делается через терминал, не нужно открывать Xcode и вручную перетаскивать папки
👉Не трогаем Package.swift, так как конфигурация зеркал хранится отдельно
👉Настройка зеркал работает сразу для всех проектов с этими зависимостями
kunat.dev
Swift Package Manager Mirrors for Local Development
A dependency mirror refers to an alternate source location which exactly replicates the contents of the original source. [1]
I often end up in the same situation: I need to tweak an internal package that a project depends on. The usual options are:
Drag…
I often end up in the same situation: I need to tweak an internal package that a project depends on. The usual options are:
Drag…
1🔥18👍3
Гайд по промптингу локальных моделей
Apple выпустили документацию по тому, как правильно составлять промпты для моделей, доступных через Foundation Models Framework – в том числе как делать так, чтобы модель лучше следовала инструкциям, и как выносить условную логику в код.
Apple выпустили документацию по тому, как правильно составлять промпты для моделей, доступных через Foundation Models Framework – в том числе как делать так, чтобы модель лучше следовала инструкциям, и как выносить условную логику в код.
Apple Developer Documentation
Prompting an on-device foundation model | Apple Developer Documentation
Tailor your prompts to get effective results from an on-device model.
👍19💅5👎2
Swift Language Reference в виде книги
Документацию по Swift красиво сверстали по всем типографским правилам и выложили в PDF, так что, если всегда хотели иметь ее как настольную книгу, возможность теперь есть!
Документацию по Swift красиво сверстали по всем типографским правилам и выложили в PDF, так что, если всегда хотели иметь ее как настольную книгу, возможность теперь есть!
GitHub
GitHub - peterfriese/swift-book: The Swift Programming Language book as a PDF!
The Swift Programming Language book as a PDF! Contribute to peterfriese/swift-book development by creating an account on GitHub.
1👍18💅1
Cupertino – MCP сервер для документации Apple
Cupertino вытаскивает информацию с кучи ресурсов, включая официальные доки, метаданные всех Swift Packages и HIG, индексирует их локально, и через MCP отдает как контекст AI агентам.
Cupertino вытаскивает информацию с кучи ресурсов, включая официальные доки, метаданные всех Swift Packages и HIG, индексирует их локально, и через MCP отдает как контекст AI агентам.
GitHub
GitHub - mihaelamj/cupertino: A local Apple Documentation crawler and MCP server. Written in Swift.
A local Apple Documentation crawler and MCP server. Written in Swift. - mihaelamj/cupertino
🔥41💅5👍2
Apple тестирует новое отображение рекламы в App Store
Apple начали тестировать новый вид отображения рекламных позиций в списке приложений, которые теперь полностью повторяют обычную карточку, за исключением маленькой иконки "Ad" в углу. Больше темных паттернов богу темных паттернов!
Apple начали тестировать новый вид отображения рекламных позиций в списке приложений, которые теперь полностью повторяют обычную карточку, за исключением маленькой иконки "Ad" в углу. Больше темных паттернов богу темных паттернов!
💅7👍1
Проблемы Tab Bar в iOS 26
В iOS 26 в таббаре появился новый специальный вид таба – поиск, который визуально отделен от остальной панели и в целом похож на кнопку. В том и кроется проблема – из-за этой похожести в кастомных реализациях таббара туда начинают добавлять другие действия – например, создание нового элемента, что будет путать пользователей еще сильнее.
В iOS 26 в таббаре появился новый специальный вид таба – поиск, который визуально отделен от остальной панели и в целом похож на кнопку. В том и кроется проблема – из-за этой похожести в кастомных реализациях таббара туда начинают добавлять другие действия – например, создание нового элемента, что будет путать пользователей еще сильнее.
👍12💅4👎2
Skip теперь бесплатный
Про Skip, набор инструментов для транспилирования Swift в Kotlin, мы на канале говорили довольно часто. Большого адопшна у ребят так и не случилось, но главное, чего они добились – добавили Android в список официальных таргетов Swift и запустили полноценную рабочую группу вокруг проекта.
Так вот, раньше большая часть Skip была закрытой и платной, а с этой недели бизнес-модель меняется, и все выкладывается в опенсорс. Основная причина – никто не хочет платить за инструменты для разработки. Выживет ли проект дальше, пока не очень понятно, будем следить.
Про Skip, набор инструментов для транспилирования Swift в Kotlin, мы на канале говорили довольно часто. Большого адопшна у ребят так и не случилось, но главное, чего они добились – добавили Android в список официальных таргетов Swift и запустили полноценную рабочую группу вокруг проекта.
Так вот, раньше большая часть Skip была закрытой и платной, а с этой недели бизнес-модель меняется, и все выкладывается в опенсорс. Основная причина – никто не хочет платить за инструменты для разработки. Выживет ли проект дальше, пока не очень понятно, будем следить.
❤16💅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, то сверху появляется небольшой красный баннер, предупреждающий, что на звонке не техническая поддержка.
🔥76👍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.
🔥7❤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❤1