home.social

#swiftpm — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #swiftpm, aggregated by home.social.

fetched live
  1. Как мигрировать Flutter-приложение на SPM — гайд с граблями, костылями и скриптами

    Flutter активно движется в сторону Swift Package Manager (SPM) и, как и весь Swift‑мир, постепенно отказывается от CocoaPods. Сам Flutter описывает миграцию в два шага: включить флаг flutter config --enable-swift-package-manager и запустить сборку. Если после этого приложение собирается и в консоли появляется предложение deintegrate CocoaPods — вы счастливчик. Если нет, добро пожаловать под кат. Привет! Меня зовут Даниил Гиренко, я Flutter‑разработчик в Яндекс Про. Проект по переводу нашего супераппа с CocoaPods на Swift Package Manager оказался одним из самых сложных и долгих в моей карьере программиста. Весь мой пережитый ужас опыт я решил выразить в этой статье, чтобы решившиеся на миграцию разработчики (или агенты) понимали, какие подводные камни их ждут. Буду рад, если ваш проект займёт недели, а не месяцы, как у меня. В этой статье — полноценный гайд по миграции любого Flutter‑приложения. Разберём граф зависимостей, научимся мигрировать плагины, зарезолвим зависимости и доберёмся до успешного билда. Внутри есть готовые скрипты для анализа и автоматического перевода плагинов, множественные нюансы миграции и рассказы о моих костылях.

    habr.com/ru/companies/yandex/a

    #flutter #swiftpm #ios_development #cocoapods

  2. Not the fanciest topic when looking at all of the hot AI and WWDC topics right now.
    My DocC script that I wrote for SPM library documentation broke when I added a second target - so I rebuilt it. Now it supports Multiple frameworks and versioned deploys.
    Wrote it up in case anyone faces a similar requirements:
    alexanderweiss.dev/blog/2026-0

    #swift #swiftpm #docc

  3. Since CocoaPods is going to become readonly by the end of the year, many teams are switching to Swift Package Manager for good.

    I've been doing the same on some projects I work on and since I don't like repetitive tasks I've created an AI Agent's skill for automating the migration process in Kotlin Multiplatform / Compose Multiplatform projects.

    Every contribution, comment or experience is welcome.

    github.com/xabaras/kmp-cocoapo

    #KMP #ComposeMultiplatform #AI #skill #CocoaPods #SwiftPM

  4. [Перевод] Flutter 3.44 — Что нового во Flutter?

    Google I/O 2026. Flutter 3.44 уже здесь, и это грандиозное событие! Этот релиз знаменует собой важную веху в истории Flutter: Hybrid Composition++ для Android, Swift Package Manager в качестве нового менеджера пакетов по умолчанию для iOS/macOS и улучшенную поддержку Vulkan для Impeller. Мы представляем предварительную версию поддержки многооконного режима для настольных компьютеров, и Canonical станет нашим новым ведущим разработчиком, а также начинаем масштабную архитектурную эволюцию, отделяя Material и Cupertino от основного фреймворка. Мы переосмысливаем UX для агентного взаимодействия с пользователями с помощью GenUl и переосмысливаем опыт разработчиков с помощью Agentic Hot Reload и Dart & Flutter Agent Skills. Flutter расширяет возможности приложений следующего поколения — повсюду, от мультимедийной системы Toyota RAV4 2026 года до грядущего SDK для webOS от LG. Мы очень рады поделиться с вами всеми новостями и обновлениями; добро пожаловать в Flutter 3.44!

    habr.com/ru/articles/1037518/

    #dart #flutter #344 #LiteRTLM #flutter_gemma #A2UI_protocol #SwiftPM #Canonical #Toyota_Embedded #LG_WebOS

  5. Oh, a free tip for anyone using #SwiftPM with #Xcode: Do not use "insteadOf" in your git config. It will break package resolution in Xcode.

  6. Xcode 26.4 introduces package traits from SwiftPM 6.1, letting package authors expose configurable options to consumers. Enable optional dependencies and conditional compilation — a powerful solution for transitive dependency management.

    🔗: massicotte.org/blog/package-tr by Matt Massicotte (@mattiem)

    #Swift #SwiftPM #iOSDev

  7. Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

    Swift Package Manager отлично подходит для модульной архитектуры, но по мере роста проекта Package.swift быстро превращается в длинный список строковых зависимостей. В статье показываю, как превратить Package.swift в типобезопасный DSL на Swift: - убрать строковые зависимости - автоматически генерировать feature-модули - зафиксировать архитектурные правила на уровне компиляции

    habr.com/ru/articles/1010564/

    #swift #swiftpm #dsl #swift_package_manager #ios #ios_development #modularity

  8. "Added the ability to enable package traits on dependencies from the Package Dependencies view. (141748785)"

    There are a ton of goodies in the release notes, but this one earns a well-deserved #Finally

    #Swift #Xcode #SwiftPM #SPM

  9. So I’m in the market for a #TypeForm style service with a good #Swift and #SwiftUI integration. I’d love to use TypeForm and the #swiftpm package that gives it a nice native integration to be able to collect in-app feedback from my users but their free tier is really limited and their paid tiers start at too high of a price to be worth it.. (I expect more than 10 submissions a month but not enough to justify to pay [that much] for it).

    Yes I know I could just open an email client but so like the coneceptnof having the whole support / suggest / bug report flow in the app and only send replies per mail if needed.

  10. 🚀 New write-up: Extreme Packaging — my approach to modular Swift architecture

    I’ve been experimenting with project structures where *every responsibility is its own Swift Package*.
    The result: cleaner boundaries, faster builds, and reusable code between iOS & macOS apps.

    Full article 👉 aleahim.com/ExtremePackaging

    #Swift #iOSDev #macOS #SwiftPM #CleanArchitecture #OpenSource #SwiftLang

  11. SwiftPM's file-disk footprint can hinder caching optimizations. Our mirror of the Swift Package Index directory solves this, making downloads and caching faster, saving you time on every run.

    docs.tuist.dev/en/guides/featu

  12. @tuist I don't think Swiftlint is a great example since it's available already through asdf.

    Regardless, here is a snippet from my mise.toml 💪🏽
    #mixe #dx #swiftpm

  13. I wonder why #SwiftPM build plugins have not gained broader usage (at least that's my impression)? Do they slow build times, are they too clunky to develop, something else?

  14. This .editorconfig file should be added to every single #SwiftPM repo out there! 👇
    gist.github.com/Jeehut/e5b7559

    It ensures that everyone editing the package in Xcode will get the same indentation settings avoiding mismatches with their global settings. 🥳

    Add it now! 💯 #iOSDev #OpenSource #SwiftLang #XcodeTips

  15. ticked off at whoever decided SwiftPM wasn't gonna support multiple packages per Git repo (ignoring local package references)

    c'mon, you can't tell me anyone enjoys duplicating CI config, etc. across multiple repos, and SPM packages are a nice way to structure code otherwise.

    #iOSDev #SwiftLang #SwiftPM

  16. This .editorconfig file should be added to every single #SwiftPM repo out there! 👇
    gist.github.com/Jeehut/e5b7559

    It ensures that in Xcode 16+ everyone editing the package will get the same indentation settings avoiding mismatches with their global settings. 🥳

    Add it now! 💯 #iOSDev #OpenSource

  17. #SwiftPM with resources in production and test target work in Xcode.

    `swift test` on the CLI fails to load NSColor from Asset catalog, though. The catalog is part of the library.

    Is that some CLI thing?

    Is Bundle.module pointing at the wrong one?

  18. One of the most underrated aspects of #SwiftPM is the bundle structure by convention and not by referencing individual source code files as it happens in #Xcode project bundles. 🙏

    I am thankful for that on every merge conflict I have to resolve.

    Would every source code file still be referenced as in an Xcode project file, it would totally wreck it during rebases all the time. 😀

    #Swift #Git