App store deployment
Skill secondsky/claude-skills/plugins/app-store-deployment/skills/app-store-deployment
Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations
npx -y skills add secondsky/claude-skills --skill app-store-deploymentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation. Use when preparing app releases, configuring signing certificates, or setting up automated deployment pipelines.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.1 KB, as published. Nobody here has run it
App Store Deployment
Publish mobile applications to iOS App Store and Google Play with proper procedures.
iOS Deployment
Build and Archive
# Build archive
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
# Export IPA
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/
Upload to App Store Connect
xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"
Android Deployment
Build Release APK/Bundle
# Generate keystore (once)
keytool -genkey -v -keystore release.keystore \
-alias app -keyalg RSA -keysize 2048 -validity 10000
# Build release bundle
./gradlew bundleRelease
gradle.properties
RELEASE_STORE_FILE=release.keystore
RELEASE_KEY_ALIAS=app
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_PASSWORD=****
Version Management
{
"version": "1.2.3",
"ios": { "buildNumber": "45" },
"android": { "versionCode": 45 }
}
Pre-Deployment Checklist
- All tests passing (>80% coverage)
- App icons for all sizes
- Screenshots for store listing
- Privacy policy URL configured
- Permissions justified
- Tested on minimum supported OS
- Release notes prepared
CI/CD (GitHub Actions)
on:
push:
tags: ['v*']
jobs:
deploy-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
run: |
# Accept Xcode license if needed
sudo xcodebuild -license accept || true
- name: Build archive
run: |
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
- name: Export IPA
run: |
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/
- name: Upload to App Store Connect
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APP_SPECIFIC_PASSWORD: ${{ secrets.APP_SPECIFIC_PASSWORD }}
run: |
xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"
deploy-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./gradlew bundleRelease
- uses: r0adkll/upload-google-play@v1
Best Practices
- Automate deployment with CI/CD
- Test on physical devices
- Secure signing materials separately
- Monitor crash reports post-launch