
Capacitor Plugin Spm Support
- 45 installs
- 57 repo stars
- Updated July 13, 2026
- cap-go/capacitor-skills
Adds Swift Package Manager support to an existing Capacitor plugin so it can be consumed without CocoaPods.
About
Guides adding SPM support to a Capacitor plugin, including Package.swift, CAPBridgedPlugin conversion, and bridge cleanup. A developer uses it to make an iOS plugin consumable through Xcode's package manager.
- Adds Package.swift and CAPBridgedPlugin registration
- Converts Obj-C bridge files to bridged Swift
Capacitor Plugin Spm Support by the numbers
- 45 all-time installs (skills.sh)
- Ranked #609 of 1,039 Mobile Development skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugin-spm-supportAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 45 |
|---|---|
| repo stars | ★ 57 |
| Last updated | July 13, 2026 |
| Repository | cap-go/capacitor-skills ↗ |
What it does
Adds Swift Package Manager support to an existing Capacitor plugin so it can be consumed without CocoaPods.
Files
Add Swift Package Manager Support to a Capacitor Plugin
Add SPM support to an existing Capacitor plugin so it can be consumed without CocoaPods.
When to Use This Skill
- User wants a plugin to work through Xcode's package manager
- User is converting an existing iOS plugin from Obj-C bridge files to bridged Swift registration
- User needs the plugin package manifest and file exports updated for SPM
Procedures
Step 1: Gather Plugin Information
Read these files in the plugin root:
package.json- the
.podspec - the main Swift plugin class under
ios/
Record:
- the package name
- the pod name
- the iOS deployment target
- the plugin class name
- the JavaScript plugin name
- all exposed plugin methods
- any third-party CocoaPods dependencies that also need SPM equivalents
Step 2: Create Package.swift
Add a Package.swift manifest that:
- declares the plugin package name
- sets the iOS minimum version
- points the target at the plugin's iOS source directory
- depends on the Capacitor Swift package support package used by the project
- adds any resolved third-party SPM packages
Keep the target structure aligned with the actual plugin source tree.
Step 3: Convert the Swift Plugin Class
Update the plugin class to conform to CAPBridgedPlugin.
Add the bridge properties at the top of the class:
identifierjsNamepluginMethods
Preserve each method name and return type exactly as the plugin already exposes them.
Step 4: Remove Objective-C Bridge Files
Delete the old bridge header and implementation files once the Swift bridge is in place.
Then clean the Xcode project file so it no longer references them.
Step 5: Update Package Metadata
Update the plugin package manifest so it exports:
- the iOS sources
- the podspec
Package.swift
Add an iOS SPM install command if the project maintains script helpers.
Step 6: Verify
Install dependencies with the repository's existing package manager.
Then cd into the example or test app directory that contains capacitor.config.*, run npx cap sync (or the repository's equivalent runner) there, and build that same app.
Error Handling
- Start with the Swift package resolver: check the target path and package dependency names first.
- Verify bridge registration by matching the class name,
identifier, andjsNameagainst the exported API. - For unsupported CocoaPods dependencies, replace them with SPM-compatible packages or keep CocoaPods for that dependency.
{
"version": "1.0.0",
"organization": "Capgo",
"date": "March 2026",
"abstract": "Guide for adding Swift Package Manager support to an existing Capacitor plugin, including bridged Swift registration and package metadata updates.",
"triggers": [
"add spm support to capacitor plugin",
"swift package manager plugin",
"package.swift capacitor plugin",
"bridged plugin",
"capacitor plugin spm"
],
"references": [
"https://swift.org/package-manager",
"https://capacitorjs.com/docs"
]
}