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 : []
|
newest ? newest.last : []
|
||||||
end
|
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
|
# 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 —
|
# 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
|
# `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
|
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
|
### ios refresh_dsyms
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
Reference in New Issue
Block a user