Skip to content

feat(ios): add Swift Package Manager support#224

Open
TeddyYeung wants to merge 1 commit into
talsec:masterfrom
TeddyYeung:feat/add-spm-support
Open

feat(ios): add Swift Package Manager support#224
TeddyYeung wants to merge 1 commit into
talsec:masterfrom
TeddyYeung:feat/add-spm-support

Conversation

@TeddyYeung

Copy link
Copy Markdown

Why

Flutter 3.27+ makes Swift Package Manager (SPM) the default for iOS builds. CocoaPods trunk will be read-only from December 2, 2026. Plugins without SPM support will require users to pass --no-enable-swift-package-manager on every build.

This PR adds iOS SPM support to freerasp so it works seamlessly with modern Flutter toolchains.

What changed

  • Added ios/freerasp/Package.swift — SPM manifest (swift-tools-version 5.9, iOS 12.0)
  • Added ios/freerasp/TalsecRuntime.xcframework — symlink to local binary target (mirrors existing ios/TalsecRuntime.xcframework)
  • Added ios/freerasp/Sources/freerasp/ — Swift-only SPM target (mirrors Classes/ Swift files)
  • Updated ios/freerasp.podspec — iOS platform 8.0 → 12.0
  • Updated pubspec.yaml — iOS pluginClass: SwiftFreeraspPlugin (direct Swift registration for SPM)
  • Updated CHANGELOG.md — 8.0.1 entry
  • Updated .gitignore — added .build/ and .swiftpm/

Architecture note

SPM does not support mixed-language targets (ObjC + Swift in the same target). The solution:

  • SPM target: Swift files only (Sources/freerasp/) + TalsecRuntime as a local binaryTarget
  • CocoaPods: uses existing ios/Classes/ with ObjC wrapper + Swift + vendored_frameworks (unchanged)
  • TalsecRuntime.xcframework is already bundled in the repository — no remote download required

Testing

  • flutter config --enable-swift-package-manager && flutter build ios --no-codesign — Build succeeded
  • flutter config --no-enable-swift-package-manager && flutter build ios --no-codesign — Build succeeded

Tested with Flutter 3.35.7 on macOS.

Breaking Changes

None. CocoaPods behavior is unchanged.

References

@TeddyYeung TeddyYeung force-pushed the feat/add-spm-support branch from 7d2ff2d to 6a16acd Compare June 26, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant