From ios-dev
Fastlane automation - build, test, deploy iOS apps, TestFlight, App Store Connect
npx claudepluginhub willsigmon/sigstack --plugin ios-devThis skill is limited to using the following tools:
Automate iOS builds, testing, and deployment with fastlane.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Automate iOS builds, testing, and deployment with fastlane.
# Install
brew install fastlane
# Init in project
cd ios-project
fastlane init
# Fastfile
default_platform(:ios)
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
increment_build_number(xcodeproj: "App.xcodeproj")
build_app(scheme: "App")
upload_to_testflight(
skip_waiting_for_build_processing: true
)
end
end
lane :release do
capture_screenshots
build_app(scheme: "App")
upload_to_app_store(
submit_for_review: true,
automatic_release: true,
force: true,
skip_metadata: false,
skip_screenshots: false
)
end
lane :test do
run_tests(
scheme: "AppTests",
devices: ["iPhone 15 Pro"],
code_coverage: true
)
end
# Appfile
app_identifier "com.example.app"
apple_id "developer@example.com"
team_id "ABC123"
# API key auth (recommended)
# Store key file securely
lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] = app_store_connect_api_key(
key_id: "ABC123",
issuer_id: "def-456",
key_filepath: "./AuthKey.p8"
)
lane :sync_certs do
match(
type: "appstore",
app_identifier: "com.example.app",
git_url: "git@github.com:org/certs.git"
)
end
lane :beta do
match(type: "appstore")
build_app(scheme: "App")
upload_to_testflight
end
- name: Build and Upload
env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.ASC_KEY }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
run: bundle exec fastlane beta
build_app: Build iOS appupload_to_testflight: Beta distributionupload_to_app_store: Production releasematch: Code signing syncsnapshot: Screenshot automationdeliver: Metadata/screenshots uploadUse when: iOS builds, TestFlight uploads, App Store releases, CI/CD automation