Skip to content

Support Swift Package Manager - #54

Open
harumidiv wants to merge 1 commit into
keygx:masterfrom
harumidiv:feature/swift-package-manager
Open

Support Swift Package Manager#54
harumidiv wants to merge 1 commit into
keygx:masterfrom
harumidiv:feature/swift-package-manager

Conversation

@harumidiv

Copy link
Copy Markdown

Overview

Adds Swift Package Manager support, so the library can be consumed via SwiftPM
alongside the existing CocoaPods and Carthage integrations.

Changes

  • Package.swift — declares a single GradientCircularProgress library target
    that builds the existing source directory through path:. No files were moved
    or renamed, so CocoaPods (source_files = "source/**/*"), Carthage, and the sample
    Xcode project all keep working exactly as before. The Objective-C umbrella header
    is excluded, as a SwiftPM Swift target does not use one.

  • import UIKit added to Progress/Property.swift and
    Progress/Elements/Background.swift
    — these were the only two files without an
    explicit import. In the framework target they resolved CGFloat, UIColor, and
    UIVisualEffectView through the umbrella header (GradientCircularProgress.h);
    SwiftPM has no umbrella header, so the build failed with
    cannot find type 'CGFloat' in scope. The same change is mirrored into
    GCProgressSample/GradientCircularProgress/ to keep the two copies of the sources
    in sync.

  • README.md — SwiftPM installation instructions.

  • .gitignore — SwiftPM build artifacts (.build/, .swiftpm/, Package.resolved).

Verification

  • xcodebuild -scheme GradientCircularProgress -destination 'generic/platform=iOS Simulator'
    BUILD SUCCEEDED, with no warnings (Xcode 26.3).
  • Swapped a real app's dependency from the CocoaPods integration over to this branch
    via SwiftPM. Both the app and its test target build, and all 1,406 library symbols
    link into the app binary with zero undefined symbols.

Note on releasing

SwiftPM resolves versions by tag, so a new tag (e.g. 3.14.0) would need to be pushed
after merging before anyone can actually depend on this. The README documents
from: "3.14.0" on that assumption — happy to change it to whatever version number
you'd prefer.

Sign up for freeto 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

@harumidiv