mcpField
A
app-store-deployment

app-store-deployment

github.com/secondsky云与 DevOps240430 次安装5 周前更新
代码仓库

关于 app-store-deployment

为移动应用开发者整理 iOS App Store 和 Google Play 发布流程,涵盖构建、签名、版本管理与发布前检查。

主要功能

  1. 01iOS 归档与上传流程
  2. 02Android 发布包构建
  3. 03版本号管理
  4. 04发布前检查清单
  5. 05GitHub Actions 部署示例

适用场景

  1. 01准备 iOS 应用上架
  2. 02生成 Android 发布包
  3. 03核对应用商店发布事项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/secondsky/claude-skills --skill app-store-deployment

安装后在 Claude Code 中输入/app-store-deployment确认已加载。

详细介绍

App Store 部署

按照规范流程将移动应用发布到 iOS App Store 和 Google Play。

iOS 部署

构建并归档
# 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/
上传到 App Store Connect
xcrun altool --upload-app \
  --type ios \
  --file build/App.ipa \
  --username "$APPLE_ID" \
  --password "$APP_SPECIFIC_PASSWORD"

Android 部署

构建发布版 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": "1.2.3",
  "ios": { "buildNumber": "45" },
  "android": { "versionCode": 45 }
}

部署前检查清单

  • 所有测试均已通过(覆盖率 >80%)
  • 提供所有尺寸的应用图标
  • 准备好商店页面截图
  • 已配置隐私政策 URL
  • 已说明权限用途
  • 已在最低支持版本的操作系统上测试
  • 已准备发布说明

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

最佳实践

  • 使用 CI/CD 自动化部署
  • 在实体设备上测试
  • 单独妥善保管签名材料
  • 发布后监控崩溃报告

评论

支持 Markdown