ios-deploy
iOS: Xcode Archive, TestFlight, App Store Connect, certificates, provisioning, Fastlane, Xcode Cloud
What this skill does
## ios-deploy ### Purpose This skill automates iOS app deployment workflows, including archiving apps with Xcode, uploading to TestFlight or App Store Connect, managing certificates and provisioning profiles, and integrating with tools like Fastlane and Xcode Cloud. It streamlines CI/CD for iOS projects. ### When to Use Use this skill when deploying iOS apps to TestFlight for beta testing, submitting to the App Store, or handling signing and provisioning in CI pipelines. Apply it in scenarios involving Fastlane automation, Xcode Cloud builds, or when troubleshooting certificate issues in enterprise environments. ### Key Capabilities - Archive iOS apps using Xcode's command-line tools with specific build configurations. - Upload builds to TestFlight via App Store Connect API, requiring authentication. - Manage certificates and provisioning profiles using Fastlane's match or sigh actions. - Automate workflows with Fastlane lanes for CI, including code signing and beta deployment. - Integrate with Xcode Cloud for cloud-based builds and automated testing. - Handle App Store metadata updates via Spaceship API for release notes and screenshots. ### Usage Patterns Always start by ensuring Xcode and Fastlane are installed. For CI integration, wrap commands in scripts that check for environment variables like `$FASTLANE_APP_ID`. Use in pipelines where builds are triggered on code changes, followed by automated testing and deployment. For local development, run commands interactively to verify outputs before automation. Include error checks in scripts to halt on failures, e.g., verify provisioning profiles exist before archiving. ### Common Commands/API Use Fastlane for most tasks; here's how to execute key operations: - **Archive and build an app**: Run `xcodebuild archive -scheme MyApp -archivePath build/MyApp.xcarchive -configuration Release`. Follow with `xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportPath build/export -exportOptionsPlist exportOptions.plist`. - **Upload to TestFlight**: Use Fastlane: `fastlane upload_to_testflight` with config in Fastfile: `lane :beta do |options| upload_to_testflight(changelog: options[:changelog]) end`. Requires `$APP_STORE_CONNECT_API_KEY` in env vars. - **Manage certificates**: Run `fastlane match development` to create or download profiles; config via Matchfile with `type: "development"` and `git_url: "[email protected]:user/repo.git"`. - **Xcode Cloud API**: Trigger builds via API endpoint: POST to `https://api.apple.com/v1/builds` with JSON payload `{ "workflowId": "12345", "sourceBranch": "main" }`, authenticated with `$XCODE_CLOUD_TOKEN`. - **App Store Connect API**: Fetch app info with `spaceship::Tunes::App.find("com.example.app")` in a Ruby script: `require 'spaceship'; Spaceship::Tunes.login; app = Spaceship::Tunes::App.find('bundle_id')`. ### Integration Notes Integrate by adding Fastlane to your project via `gem install fastlane`, then create a Fastfile in the root directory. For authentication, set env vars like `export FASTLANE_SESSION=$APP_STORE_CONNECT_API_KEY` for App Store Connect access. Use Xcode Cloud by enabling it in App Store Connect and referencing the workflow ID in scripts. For CI tools like GitHub Actions, include steps like: `run: fastlane beta` in your YAML file, ensuring dependencies are cached. Handle multiple environments by using Fastlane's lanes, e.g., define a lane for staging with different provisioning profiles. ### Error Handling Common errors include invalid certificates; check with `fastlane match nuke development` to reset and retry. For upload failures, verify API key with `fastlane spaceauth -o` and ensure bundle ID matches. If archiving fails due to code signing, run `fastcode sign --force` and specify the profile in exportOptions.plist: `<key>signingStyle</key><string>Manual</string>`. Handle network errors in scripts by adding retries, e.g., in bash: `for i in {1..3}; do fastlane upload_to_testflight && break || sleep 5; done`. Log outputs with `fastlane --verbose` for debugging. ### Concrete Usage Examples 1. **Deploy to TestFlight**: In a CI script, first build: `xcodebuild -scheme MyApp -configuration Release clean build`. Then upload: `fastlane run upload_to_testflight api_key: $APP_STORE_CONNECT_API_KEY changelog: "Fixed bugs"`. This assumes a Fastfile with the lane defined and env var set. 2. **Manage Provisioning and Archive**: Run `fastlane match adhoc` to fetch profiles, then archive: `xcodebuild archive -scheme MyApp -archivePath build/MyApp.xcarchive`. Export with: `xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportOptionsPlist ExportOptions.plist`. Use in a workflow for ad-hoc distribution. ### Graph Relationships - Related to: mobile cluster (e.g., android-deploy skill for cross-platform deployment). - Connected via: deployment tag (links to general deployment skills like ci-cd). - Associated with: fastlane and ios tags (e.g., relates to fastlane-specific tools and other iOS skills). - Dependencies: appstore tag implies integration with skills handling API keys and authentication.
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.