Skip to content

feat: add CocoaPods support via PolyMessaging.podspec#14

Merged
Zakariya1057 merged 3 commits into
mainfrom
feat/cocoapods-support
Jun 1, 2026
Merged

feat: add CocoaPods support via PolyMessaging.podspec#14
Zakariya1057 merged 3 commits into
mainfrom
feat/cocoapods-support

Conversation

@Zakariya1057
Copy link
Copy Markdown
Collaborator

Summary

Adds CocoaPods as a distribution channel alongside SwiftPM. The SDK is a good fit: source-only, dependency-free, and it only imports system frameworks (auto-linked by Swift), so the podspec is minimal — no resource_bundles, no s.dependency, no frameworks declarations needed.

Decision: publish via CocoaPods Trunk so consumers can write pod 'PolyMessaging', '~> 0.6'.

Changes

  • PolyMessaging.podspec (new) — Apache-2.0, iOS 15 / macOS 12, swift_version 5.9, source_files = 'Sources/PolyMessaging/**/*.swift', source pinned to :tag => "v#{s.version}" (matches the existing vX.Y.Z tag convention).
  • README.md — new "Option 4 — CocoaPods" install snippet; bumped the stale 0.5.1 version pins to 0.6.0 across the Install section (Xcode / SwiftPM / XcodeGen).
  • CONTRIBUTING.md — release flow now bumps the podspec version in lockstep with Version.swift + CHANGELOG.md, and adds a pod trunk push step (after tagging, so :tag resolves).

Versioning note

The podspec adds a third place the version lives. It must mirror Version.swift exactly; this is now documented in the release checklist. (CocoaPods can't read the Swift literal, so it's a manual sync — flagging in case we'd rather script it later.)

Validation

  • ruby -c PolyMessaging.podspec → Syntax OK
  • swift build → clean
  • ⚠️ pod lib lint not run — CocoaPods isn't installed in this environment. Should be run before merge/publish: pod lib lint PolyMessaging.podspec

Follow-ups (not in this PR)

  • One-time pod trunk register <email> before the first publish.
  • Optional CI job running pod lib lint so the spec can't rot.

Add a podspec so the SDK can be installed through CocoaPods (Trunk),
alongside the existing SwiftPM/Xcode/XcodeGen options.

- PolyMessaging.podspec: source-only, dependency-free, Apache-2.0,
  iOS 15 / macOS 12, source tagged v#{version}.
- README: new 'Option 4 — CocoaPods' install snippet; bump stale
  0.5.1 version pins to 0.6.0 across the Install section.
- CONTRIBUTING: release flow now bumps the podspec version in lockstep
  with Version.swift/CHANGELOG.md and adds a 'pod trunk push' step.
Add a podspec-lint job running 'pod lib lint --allow-warnings' on
macos-14 so the podspec can't silently rot. --allow-warnings because
the SDK build emits non-fatal compiler warnings the lint would
otherwise treat as errors.
Use the org-owned, readable mailbox that will own the pod on Trunk.
@Zakariya1057 Zakariya1057 merged commit bba05ce into main Jun 1, 2026
3 checks passed
@Zakariya1057 Zakariya1057 deleted the feat/cocoapods-support branch June 1, 2026 11:11
@Zakariya1057 Zakariya1057 mentioned this pull request Jun 1, 2026
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