移动/游戏
移动应用发布到 iOS App Store 与…
在准备应用发布、配置签名证书或搭建自动化部署流水线时,完成 iOS 与 Android 双端打包、上传与版本管理。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
移动应用发布到 iOS App Stor特定
解决思路
- iOS 打包归档:使用 xcodebuild -workspace App.xcworkspace -scheme App -sdk iphoneos -configuration Release -archivePath build/App.xcarchive archive 生成归档
- iOS 导出 IPA:使用 xcodebuild -exportArchive -archivePath build/App.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build/ 导出
- iOS 上传到 App Store Connect:使用 xcrun altool --upload-app --type ios --file build/App.ipa --username "$APPLE_ID" --password "$APP_SPECIFIC_PASSWORD"
- Android 生成 keystore(仅一次):使用 keytool -genkey -v -keystore release.keystore -alias app -keyalg RSA -keysize 2048 -validity 10000
- Android 构建发布包:运行 ./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*'],即打 v 开头标签时触发部署
- CI/CD iOS 任务:使用 runs-on: macos-latest,checkout 代码后执行 sudo xcodebuild -license accept || true 接受 Xcode 许可
- CI/CD iOS 构建与上传:依次执行 archive、exportArchive,并通过 secrets.APPLE_ID 与 secrets.APP_SPECIFIC_PASSWORD 环境变量运行 altool 上传
- CI/CD Android 任务:使用 runs-on: ubuntu-latest,checkout 代码后运行 ./gradlew bundleRelease,再用 r0adkll/upload-google-play@v1 上传
- 最佳实践:用 CI/CD 自动化部署、在真机上测试、单独安全保管签名材料、发布后监控崩溃报告
适用边界 · 注意事项
- 需要 Apple 开发者账号、App Store Connect 访问权限及 Google Play 发布权限,无相应账号时无法执行
- iOS 构建与上传依赖 macOS 与 Xcode 环境,非 macOS 环境无法完成 iOS 流程
- 签名证书、keystore 与密码等敏感材料需妥善保管,未准备好签名材料时不应发布