Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add greenstevester/fastlane-skill --skill "release"
Install specific skill from multi-skill repository
# Description
Submit iOS app to App Store for review
# SKILL.md
name: release
description: Submit iOS app to App Store for review
argument-hint: [--version "1.x.x"] [--auto-release] [--skip-metadata]
allowed-tools: Bash, Read
App Store Production Release
Submit the iOS app to App Store Connect for review and release.
Pre-flight Checks
- Fastlane installed: !
fastlane --version 2>/dev/null | grep "fastlane " | head -1 || echo "β Not installed - run: brew install fastlane" - Fastfile exists: !
ls fastlane/Fastfile 2>/dev/null && echo "β Found" || echo "β Not found - run /setup-fastlane first" - App-specific password: !
[ -n "$FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD" ] && echo "β Set" || echo "β οΈ Not set - export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD='xxxx-xxxx-xxxx-xxxx'"
Arguments: ${ARGUMENTS:-none}
What This Does
fastlane release (Submit Existing Build)
- Selects latest TestFlight build already uploaded
- Submits for App Store review
- Ideal when you've already tested a beta build
fastlane release_full (Full Pipeline)
- Syncs certificates via Match (appstore type)
- Bumps version number (if
version:provided) - Increments build number
- Builds release archive with gym
- Uploads to App Store Connect
- Submits for review
- Auto-releases after approval (if
auto_release:true)
Commands
Submit Existing TestFlight Build
cd project/product/swiftui-ios-app # or your fastlane directory
fastlane release
Full Release with Version Bump
fastlane release_full version:"1.1.0"
Full Release with Auto-Release
fastlane release_full version:"1.2.0" auto_release:true
This will automatically release to the App Store once Apple approves the build.
Workflow Recommendation
- Test first: Run
fastlane betato upload to TestFlight - Verify in TestFlight: Ensure the build works correctly
- Submit for review: Run
fastlane releaseto submit the tested build - Or full pipeline: Use
fastlane release_fullfor a fresh build + submit
Troubleshooting
"No value found for 'username'"
Set your Apple ID in fastlane/Appfile:
apple_id("[email protected]")
"Please sign in with an app-specific password"
- Go to https://account.apple.com β Sign-In & Security β App-Specific Passwords
- Generate a password named "Fastlane"
- Export it:
export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD='xxxx-xxxx-xxxx-xxxx'
"The provided entity includes an attribute with a value that has already been used"
The version number already exists. Increment the version:
fastlane release_full version:"1.0.1"
Build rejected or needs changes
- Address Apple's feedback
- Increment build number and re-upload:
fastlane beta
- Submit again:
fastlane release
After Submission
- Review time: Typically 24-48 hours (can be longer)
- Check status: App Store Connect β My Apps β Your App β App Store
- If rejected: Review feedback, fix issues, increment build, resubmit
- If approved with auto_release: App goes live immediately
- If approved without auto_release: Manually release in App Store Connect
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.