building-apple-platform-products_skill

This skill helps you build, test, and archive Apple platform projects by auto-discovering schemes and destinations for swift build, xcodebuild, or swift test.
  • Shell

27

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill kylehughes/apple-platform-build-tools-claude-code-plugin --skill building-apple-platform-products

  • SKILL.md5.9 KB

Overview

This skill builds, tests, and archives Swift packages and Xcode projects for Apple platforms. It automates selection of the correct toolchain (swift build / swift test or xcodebuild), discovers schemes and targets, and helps choose simulator or device destinations for iOS, macOS, tvOS, watchOS, and visionOS builds.

How this skill works

The skill inspects the repository for Package.swift, .xcworkspace, and .xcodeproj files to decide whether to use Swift Package Manager or xcodebuild. It lists schemes and targets, runs build/test/archive commands with appropriate flags, and selects destinations (simulator or device) when required. It also exposes common build settings useful for CI and troubleshooting code-signing or destination issues.

When to use it

  • Build or archive an app or framework for iOS, macOS, tvOS, watchOS, or visionOS.
  • Run unit tests or UI tests and target specific simulators or devices.
  • Build standalone Swift packages or run SwiftPM tests.
  • Discover project structure: schemes, targets, and configurations before automated builds.
  • Integrate builds into CI pipelines that need deterministic xcodebuild or swift build invocations.

Best practices

  • Detect repo type first: use swift build/test only for standalone Package.swift projects.
  • Always run xcodebuild -list to get exact, case-sensitive scheme names before invoking builds.
  • Specify -workspace when CocoaPods or multiple projects exist; otherwise pass -project or let xcodebuild auto-detect.
  • For tests on Apple platforms, always provide -destination; use generic/platform for device-less builds.
  • Avoid code-signing problems in CI by setting CODE_SIGNING_ALLOWED=NO for unsigned builds when appropriate.

Example use cases

  • CI job that builds and archives an iOS app: discover scheme, run xcodebuild archive with -archivePath.
  • Local development: run swift build and swift test for a cross-platform command-line Swift package.
  • Automated test runner: list schemes, build-for-testing, then xcodebuild test-without-building against an iPhone simulator.
  • Mixed project: find SPM targets exposed as schemes in an Xcode project and build a single library target without building the full app.
  • Troubleshooting: list available simulators with xcrun simctl and adjust -destination specifiers for flaky simulator selection.

FAQ

No. swift build/test only works for standalone Package.swift repos. For packages embedded in Xcode, use xcodebuild with the package target's scheme.

What destination should I use for iOS device-less CI builds?

Use -destination 'generic/platform=iOS' for device-less builds, and provide a simulator spec for running tests.

How do I avoid code signing errors in CI?

For builds that don't require signing, set CODE_SIGNING_ALLOWED=NO or configure a provisioning profile and signing identity for signed archives.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational