Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cap-go avatar

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-support

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs45
repo stars57
Last updatedJuly 13, 2026
Repositorycap-go/capacitor-skills

What it does

Adds Swift Package Manager support to an existing Capacitor plugin so it can be consumed without CocoaPods.

Files

SKILL.mdMarkdownGitHub ↗

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:

  • identifier
  • jsName
  • pluginMethods

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, and jsName against the exported API.
  • For unsupported CocoaPods dependencies, replace them with SPM-compatible packages or keep CocoaPods for that dependency.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.