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.
Install with Tessl CLI
npx tessl i github:secondsky/claude-skills --skill app-store-deploymentOverall
score
88%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Publish mobile applications to iOS App Store and Google Play with proper procedures.
# 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/xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"# Generate keystore (once)
keytool -genkey -v -keystore release.keystore \
-alias app -keyalg RSA -keysize 2048 -validity 10000
# Build release bundle
./gradlew bundleReleaseRELEASE_STORE_FILE=release.keystore
RELEASE_KEY_ALIAS=app
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_PASSWORD=****{
"version": "1.2.3",
"ios": { "buildNumber": "45" },
"android": { "versionCode": 45 }
}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@v1If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.