fastlane: lanes submit y status
submit envia a review una build ya subida: la 2.0.1 build 66 ya estaba en TestFlight, y release habria reconstruido mientras publish nunca envia. Distribucion automatica (AFTER_APPROVAL) y sin tocar screenshots, que se heredan. status lista el estado de cada version en App Store Connect. Sirvio para confirmar que la 2.0.1 quedo en AFTER_APPROVAL y no en MANUAL como la 2.0. Ojo: asc_api_key devuelve el hash de opciones de fastlane, no un token de spaceship; hay que construir el token aparte. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Ks8uUcMA9mjypVK7F2Pkt
This commit is contained in:
@@ -59,6 +59,42 @@ platform :ios do
|
||||
newest ? newest.last : []
|
||||
end
|
||||
|
||||
desc "Show the App Store state of each version (review status, release type)"
|
||||
lane :status do
|
||||
require 'spaceship'
|
||||
# asc_api_key returns fastlane's option hash, not a Spaceship token.
|
||||
Spaceship::ConnectAPI.token = Spaceship::ConnectAPI::Token.create(
|
||||
key_id: `pass show appstore/api-key-id`.strip,
|
||||
issuer_id: `pass show appstore/issuer-id`.strip,
|
||||
key: `pass show appstore/api-key-p8`.strip
|
||||
)
|
||||
app = Spaceship::ConnectAPI::App.find("com.alexandrevazquez.mealmood")
|
||||
app.get_app_store_versions(includes: "build").each do |v|
|
||||
UI.message("#{v.version_string} — #{v.app_store_state} — release: #{v.release_type} — build: #{v.build&.version}")
|
||||
end
|
||||
end
|
||||
|
||||
# For a build that is already on TestFlight: `release` would rebuild it and
|
||||
# `publish` never submits. Screenshots are left alone — they carry over.
|
||||
desc "Submit an already-uploaded build for App Store review (automatic release)"
|
||||
lane :submit do |options|
|
||||
UI.user_error!("pass build:<number>") unless options[:build]
|
||||
upload_to_app_store(
|
||||
api_key: asc_api_key,
|
||||
app_version: options[:version] || "2.0.1",
|
||||
build_number: options[:build],
|
||||
skip_binary_upload: true,
|
||||
skip_metadata: false,
|
||||
skip_screenshots: true,
|
||||
overwrite_screenshots: false,
|
||||
submit_for_review: true,
|
||||
automatic_release: true,
|
||||
force: true,
|
||||
precheck_include_in_app_purchases: false,
|
||||
run_precheck_before_submit: false
|
||||
)
|
||||
end
|
||||
|
||||
# Safety net for the Xcode build phase, which only uploads the dSYM produced
|
||||
# locally. Run it once App Store Connect has finished processing the build —
|
||||
# `beta` uses skip_waiting_for_build_processing, so right after an upload the
|
||||
|
||||
@@ -23,6 +23,22 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
|
||||
|
||||
Push a new beta build to TestFlight
|
||||
|
||||
### ios status
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios status
|
||||
```
|
||||
|
||||
Show the App Store state of each version (review status, release type)
|
||||
|
||||
### ios submit
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios submit
|
||||
```
|
||||
|
||||
Submit an already-uploaded build for App Store review (automatic release)
|
||||
|
||||
### ios refresh_dsyms
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user