framework

作者: contentstack

SPM目标、libxml2模块、内置Kanna、部署目标、CocoaPods podspec、CI xcodebuild。

npx skills add https://github.com/contentstack/contentstack-utils-swift --skill framework

Framework / build – Contentstack Utils Swift

When to use

  • Editing Package.swift, Modules/, or Sources/Kanna/.
  • Changing deployment targets or conditional libxml linking.
  • Updating ContentstackUtils.podspec or CI assumptions (scheme, destination).

Swift Package Manager

  • Product: ContentstackUtils.
  • Targets: ContentstackUtils (sources under Sources/), ContentstackUtilsTests, system library libxml2 → Modules/.
  • Apple vs Linux: Conditional libxml2 dependency and pkg-config as in Package.swift—preserve behavior when refactoring.

Vendored Kanna

  • Sources/Kanna/ is excluded from SwiftLint. Updates = intentional vendoring (license, diff, cross-platform build).

CocoaPods

  • ContentstackUtils.podspec: e.g. source_files Sources/**/*.{swift}, HEADER_SEARCH_PATHS / -lxml2 for libxml. Keep aligned with SPM layout and tagged releases.

Platforms

  • Declared in Package.swift / podspec (e.g. macOS 10.13+, iOS/tvOS 11+, watchOS 4+). See also skills/swift-style/SKILL.md for API availability and naming.

CI

  • GitHub Actions uses xcodebuild with scheme ContentstackUtils-Package. After changing parsing or linking, validate with both swift test and Xcode builds.

References

  • skills/swift-style/SKILL.md
  • skills/dev-workflow/SKILL.md